Programmer en vb
Bonjour et bienvenue,

vous venez de vous inscrire et vous souhaitez avoir accès aux différents forum.
il vous suffit alors de poster une présentation sur le forum "Présentation" ou divers sujets
votre accès aux autres forums sera automatiquement autorisé.

A vos claviers :

Merci d'avoir pris le temps de lire.
Merci pour votre inscription.

L'équipe de Programmer-en-VB
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Statistiques
Nous avons 120 membres enregistrésL'utilisateur enregistré le plus récent est TutoariiNos membres ont posté un total de 6300 messagesdans 706 sujets
Recherche dans les forums

Utiliser cette méthode afin de trouver rapidement les discussions disponible sur notre forum.


Utiliser le bouton résolu

Dans votre message d'origine
cliquer sur le bouton



Ensuite tout en bas sur
Modifier le titre du sujet
cliquer sur le bouton

Résolu !!!

Ensuite changer l’icône du sujet par le bouton

Voilà pas plus compliqué que cela.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Partenaires

créer un forum



Annuaire referencement


Flux RSS

MSN 
Novembre 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  

Calendrier


Partagez
Aller en bas
avatar
jmcr
Step_Two_VBA
Step_Two_VBA
Messages : 111
Date d'inscription : 13/08/2017

Résolu EFFACER LIGNE SUR BASE

le Jeu 14 Sep - 23:25
BONSOIR ME REVOILOU
je tente un nouveau code pour effacer dans ma base un mots bien précis donc voila mon code que je voudrais vous soumettre 


Code:
Sub SuppBIO()


    Dim I As Integer


    Dim critere As String


    critere = InputBox("Veuillez saisir le mot  pour supprimer les lignes")





          For I = [A65000].End(xlUp).Row To 1 Step -1


       


              If Range("A" & I).Value Like critere Then


                 Rows(I).Delete


              End If


          Next I


      


End Sub



Code:
Sub Effacer()


     Dim I As Integer


           With Sheets("Feuil1")


           Application.ScreenUpdating = False


           For I = [A65000].End(xlUp).Row To 1 Step -1


    


           If Cells(I, 1).Value = "aa" Or Cells(I, 1).Value = "bb" Or Cells(I, 1).Value = "cc" Then


              Rows(I).Delete


           End If


           Next I


           End With


End Sub



avec tout mes remercîmentss
avatar
AdminPVB
Admin
Admin
Localisation : France Nord 59
Messages : 2072
Date d'inscription : 24/05/2013
http://programmer-en-vb.forumactif.org

Résolu Re: EFFACER LIGNE SUR BASE

le Ven 15 Sep - 19:36
Bonjour et merci.
je vais mettre le sujet dans la bonne section.
"Exemple de code",éventuellement si tu pouvais ajouter des commentaires dans le code cela serait encore mieux,pour les explications aux membres qui souhaites comprendre le code.
A bientôt.

_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Ven 15 Sep - 19:51
Bonjour JMCR AdminPvb  Very Happy.

Super le code.

Je te propose une amélioration .......

Quand tu saisie un mots a supprimer dans l'InputBox,il est probable que tu fasses une erreur de saisie a cet instant "Syntaxe' différente a celle inscrite dans le classeur.

Malgré tout cette valeur ne sera pas trouvée lors de l'exécution,l'utilisateur croira que le travail a été exécuté.

Il faut penser a ce que le travail soit fait...... et dans le cas contraire en informer l'utilisateur  Wink.
Afin que celui ci puisse prendre les dispositions pour avoir la certitude que le travail soit  bien fait.
Code:
[Sub SuppBIO()


    Dim I As Integer
    Dim critere As String


    critere = InputBox("Veuillez saisir la valeur a supprimer dans la colonne A")


          For I = [A65000].End(xlUp).Row To 1 Step -1


                      If Range("A" & I) = critere Then

                 Rows(I).Delete

beep

Msgbox("La valeur a été supprimée avec succés"),Vbinfo
                  
Else

beep

MsgBox ("Valeur non Trouvée !") & Chr(13) & ("Veuillez Vérifier la syntaxe dans le classeur ..."),VbExclamation


              End If

Exit Sub

Next I
        
 End Sub]


Dernière édition par Berly le Ven 15 Sep - 21:34, édité 2 fois
avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Ven 15 Sep - 20:14
JMCR ,je te laisse apporter la touche finale demandée par AdminPVB .

En fait c'est un très bon exercice d'assimilation de code "Les commentaires"  Wink.

Un peu comme une leçon a l'école  Wink.
avatar
jmcr
Step_Two_VBA
Step_Two_VBA
Messages : 111
Date d'inscription : 13/08/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Ven 15 Sep - 21:35
bonsoir ADMINPVB BERLY
merci pour vos commentaire 
BERLY tu as bien raison sur tes explications   très belle  amélioration .......merci il faut que je réfléchisse un peu plus au suite de celui qui inscrit se  code 

ADMINPVB je suis bien dans l ennuie car pour moi les commentaire et moi cela fait deux ,mais bon je ferais un essaie
qui tente rien a rien 
merci encore
avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Ven 15 Sep - 21:43
Salut JMCR

Penses a celui qui utilisera l'application ,se mettre a la place des autres te fera progresser plus vite.....

Donc les deux seront gagnants   Wink .

Si tu aimes aider ,alors ...........  Very Happy Very Happy Very Happy Very Happy.
avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Ven 15 Sep - 22:00
Ah oui j'oubliai ,dans le Msgbox on devrais pouvoir récupérer la bonne syntaxe dans la cellule en déclarant une variable "SyntaxeTrouvée" puis la restituer pour lecture utilisateur dans le Msgbox.
Imaginons que cette valeur se trouve loin dans la colonne  affraid  Laughing Laughing Laughing.

Pour ce soir ,je vais  Sleep.

Peut être AdminPvb ou Grisan pourront ils nous aiguiller  study.

Bonne nuit a tous  Wink
avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Sam 16 Sep - 10:09
Berly a écrit:Ah oui j'oubliai ,dans le Msgbox on devrais pouvoir récupérer la bonne syntaxe dans la cellule en déclarant une variable "SyntaxeTrouvée" puis la restituer pour lecture utilisateur dans le Msgbox.
Imaginons que cette valeur se trouve loin dans la colonne      .
Bonjour a tous


affraid  je n'ai pas été cohérent ,hier soir je rigolais de ma bêtise  .

Si la valeur n'a pas été trouvée,il sera difficile de récupérer la bonne syntaxe  Laughing Laughing Laughing.

Dans les formules il existe deux options d'Arguments "Correspondance exacte" ou "Correspondance approximative".

Ex: Si dans ta cellule tu as saisi " Camembert" et que dans  l'InputBox tu saisi  " camenber"  la correspondance est alors "Approximative" et la ,la cellule correspondante peut être trouvée.

Il nous faudra jouer sur le choix d'une "Correspondance approximative" si on veut récupérer la valeur ...... en vba bien sur.

A+
avatar
AdminPVB
Admin
Admin
Localisation : France Nord 59
Messages : 2072
Date d'inscription : 24/05/2013
http://programmer-en-vb.forumactif.org

Résolu Re: EFFACER LIGNE SUR BASE

le Sam 16 Sep - 13:18
Bonjour,
merci Berly,pour les précisions,pour la correspondance nous avons également le choix de procéder à une recherche en forçant la syntaxe en majuscule par exemple
Code:
Ucase("texte a rechercher"=Ucase(range("A1").text)
Ou Option compare text en haut du module
A bientôt


Dernière édition par AdminPVB le Sam 16 Sep - 14:07, édité 1 fois

_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Sam 16 Sep - 13:36
Merci Admin Pvb Very Happy .

Je vais essayer dans la journée.

A+
avatar
jmcr
Step_Two_VBA
Step_Two_VBA
Messages : 111
Date d'inscription : 13/08/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Sam 16 Sep - 14:31
bonjour le forum ,mes amis 
 cela tourne a une vitesse dans vos cerveaux sais fou 
surtout que je viens de voir que supprimé des lignes dans la base laisse un espace  vide ,j'ai fais un essaie avec détruire  ses   lignes vide  mais cela est pas géniale donc il faut que je trouve comment faire un trie en automatique des ligne après la procédure d 'effacement  je recherche pour instant 
avec tout mes amitiés sincère
avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Sam 16 Sep - 14:53
Bonjour JMCR

Laughing Laughing Laughing , Encore une solution a rechercher .......  développer et encore développer.....

Chaque fois c'est pareil on met le doigt dedans et Hop  Laughing Laughing Laughing.
avatar
AdminPVB
Admin
Admin
Localisation : France Nord 59
Messages : 2072
Date d'inscription : 24/05/2013
http://programmer-en-vb.forumactif.org

Résolu Re: EFFACER LIGNE SUR BASE

le Sam 16 Sep - 15:44
Bonjour,
l'exemple Camenbert sans le T prend tout son sens avec la fonction like.
En effet lorsque je souhaite faire une recherche approximative dans une chaîne de caractères.
J'utilise like et les astérisques
Une avant si il y a possibilité d'avoir des caractères qui précèdent avant le texte à trouver,et une après si il s'avère que d'autres caractères puissent succéder le texte.
Voici un exemple de code
Code:
If mavariable like "*" & "camenber" & "*" then...
A bientôt

_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Sam 16 Sep - 17:37
Merci AdminPvb  Very Happy.

C'est logique .....,c'est juste les méthodes a assimiler........ et la syntaxe a connaître.

Merci encore pour le détail de vos explications  Very Happy.

A bientôt  Arrow.
avatar
jmcr
Step_Two_VBA
Step_Two_VBA
Messages : 111
Date d'inscription : 13/08/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Sam 16 Sep - 21:25
merci ADMINPVB pour ses explications qui sont pas foncement claire pour mon niveau mais qui sais se que me réserve  l'avenir  Question Exclamation
avatar
jmcr
Step_Two_VBA
Step_Two_VBA
Messages : 111
Date d'inscription : 13/08/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Sam 16 Sep - 23:12
le forum  suite 
 après avoir effacer les lignes voila  pour le trie avec un boutons je recherche comment le mettre en automatique peut être ou je le laisse avec sont boutons sur la page 
je fais des progrès j 'arrive a le mettre  comme vous dans un cadre !!!!!!
Code:
Sub trier2()
Code:
    Range("B4:p250").Select
    Selection.Sort Key1:=Range("B4"), Order1:=xlAscending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
avatar
AdminPVB
Admin
Admin
Localisation : France Nord 59
Messages : 2072
Date d'inscription : 24/05/2013
http://programmer-en-vb.forumactif.org

Résolu Re: EFFACER LIGNE SUR BASE

le Dim 17 Sep - 0:05
Bonsoir,
je te propose de mettre le code comme je le fait sur le menu excel directement suit ma vidéo:


ok, je ne parle pas sur la vidéo mais c'est mon style.
A bientôt.

_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Dim 17 Sep - 9:44
Bonjours a tous  Very Happy.

Merci JMCR,AdminPvb  Wink.

le déroulement de la  vidéo est suffisamment fluides avec un tempo adapté  pour que l'on puisse la réaliser correctement.  Wink

JMCR ,tu avances des petites fonctionnalités s'ajoutent qui ont toute leur utilité au quotidien ......... Very Happy .

A+
avatar
jmcr
Step_Two_VBA
Step_Two_VBA
Messages : 111
Date d'inscription : 13/08/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Dim 17 Sep - 14:55
bonjour ADMINPVB,BERLY
je vais suivre vos conseilles ,je retourne aux banc de l'école apprendre avec les vidéo et tuto car pourquoi j'ai crus que mes codes pouvais être juste utile vus vos niveaux et celui du forum j'ai pas voulus vous donnez plus de travaille sur le forum avec mes codes a deux balles
je préfère resté dans l'ombre  et étudier  comment fonctionne le forum  je viendrait vous dire bonjours voir vos commentaire ou vous demander des conseilles  si j'ai besoin je me cacherais pas comme beaucoup je reviendrait le soir promis 
attention je le prend pas mal ,ni je suis vexé  ni amers  pas du tout j'ai l'âme en paix avec le  forum
mais il est temps que je regarde tout cela d'un peu plus loin pour étudier et revenir plus fort  
alors avec tout mon amitié la plus sincère mes amis
avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Dim 17 Sep - 15:15
Bonjour JMCR

Mais qu'est ce que tu racontes  Shocked.

Enfin ,c'est n'importe quoi  Exclamation

Mais ou vas tu chercher tous ça ........ Laughing.

Arrête de te prendre la tête , Amuse toi ...... Apprends avec les supports qui te conviennent a ton rythme et surtout en te faisant plaisir.......

Il n'y a pas de code a deux balles ici,chaque code a son utilité ,c'est évident .....
Nous sommes tous sur les bancs de l'école et jusqu'a la fin de notre vie  Exclamation

Il y a différents niveaux c'est sur, et alors tant mieux et je suis le premier a en être satisfait  Very Happy.

Entre nous tu n'as pas de raison de fuir ,bien au contraire ...... crois moi  Wink

Alors remonte de ta cave et fais nous plaisir  comme d'habitude Hein !

A +
avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Dim 17 Sep - 15:44
Et vois tu je te met ce PDF.

http://imagine.enpc.fr/~monasse/Info/programmer.pdf

Lis bien le préambule de ce document et tu comprendras ma vision des choses. Very Happy

Et crois moi je n'ai plus l'age d'être sur un banc d'école,mais chez moi c'est une école de la vie,ou chacun s'instruit avec les outils qui lui conviennent  Wink.

Nous avons la chance de pouvoir s'instruire sur tous les sujets en un clic ,c'est une mine d'or a disposition,une richesse de culture incommensurable .

Programmer c'est beaucoup de recherches en documentations,énormément d'heures de pratiques,Au travail des collègues critiquent tel ou tel programmes.

Je m"efforce de leur faire comprendre le travail considérable que cela représente,mais le souci de notre société est que nous consommons sans nous préoccuper de ce qui se trame derrière tout ça,bref on ne refera pas le monde  Wink.

Mais prenons ce que le monde nous offre avec au minimum une certaine reconnaissance .......

Amuse toi mon gars ,c'est ça l’essentiel,car en s'amusant on peu réaliser de grandes choses.......Ensemble  Exclamation
avatar
AdminPVB
Admin
Admin
Localisation : France Nord 59
Messages : 2072
Date d'inscription : 24/05/2013
http://programmer-en-vb.forumactif.org

Résolu Re: EFFACER LIGNE SUR BASE

le Dim 17 Sep - 17:06
Bonjour,
JMCR, les codes que tu proposes sont aussi riches que les autres, vois tu ?
tu as déposé un code et suite de celui ci tu as appris d'autres choses, et moi aussi. ainsi que d'autres.
sur le forum pas de vedette, chacun apporte son savoir, d'ailleurs regarde bien ma signature elle existe depuis des années et sera toujours valable.
A très bientôt. et même avec ton niveau. Very Happy cheers

_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
AdminPVB
Admin
Admin
Localisation : France Nord 59
Messages : 2072
Date d'inscription : 24/05/2013
http://programmer-en-vb.forumactif.org

Résolu Re: EFFACER LIGNE SUR BASE

le Lun 18 Sep - 19:34
jmcr a écrit:le forum  suite 
 après avoir effacer les lignes voila  pour le trie avec un boutons je recherche comment le mettre en automatique peut être ou je le laisse avec sont boutons sur la page 
je fais des progrès j 'arrive a le mettre  comme vous dans un cadre !!!!!!
Code:
Sub trier2()
Code:
    Range("B4:p250").Select
    Selection.Sort Key1:=Range("B4"), Order1:=xlAscending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
Bonjour,
oui tu as fais des progrès et pas seulement pour mettre dans le cadre,pour partager tes codes aussi.
il existe une bonne méthode pour s'améliorer c'est d'utiliser l'enregistreur de macro sur une séquence ensuite analyser le code et voir ce qui est inutile pour le faire fonctionner sans les lignes de l'enregistrement de macro.
en général pour avoir une rapidité de code il est conseillé de ne pas utilisé les ".select"
si tu prends ton code à la place de Selection tu écris :
Range("B4:P250").Sort ...
tu gagnes du temps car le code n'exécute pas une ligne qui sert simplement à perdre du temps.
A+ cheers

_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur
Localisation : BRETAGNE Nord 29
Messages : 838
Date d'inscription : 25/07/2013
http://pascalcuisines.fr

Résolu Re: EFFACER LIGNE SUR BASE

le Lun 18 Sep - 19:40
bonsoir AdminPVB, Jmcr, Berly et le forum

concernant le code je ne mettrai plutôt sans les .select
Code:
Range("B4:p250").Sort Key1:=Range("B4"), Order1:=xlAscending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

OUPS je n'avais vu ta suggestion mon cher AdminPVB

_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
Berly
Step_Three_VBA
Step_Three_VBA
Localisation : Rodez(Aveyron)
Messages : 549
Date d'inscription : 23/04/2017

Résolu Re: EFFACER LIGNE SUR BASE

le Lun 18 Sep - 19:50
Bonsoir Mes Amis  Very Happy

Optimisation du code,Grisan c'est ce que AdminPvb disait  Wink.

Oui c'est vrai l'enregistreur de macro est une bonne école,car celui ci génère un code pour tout et bien souvent 30 lignes peuvent se réduire considérablement tout en fonctionnant plus rapidement  Arrow.

Bref on va bien réussir a le remotiver ce petit Hein  Exclamation.

JMCR on est avec toi.........  sunny
Contenu sponsorisé

Résolu Re: EFFACER LIGNE SUR BASE

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum