Conditions

dakota44 -  
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour
J ai une tableau de plusieurs donnée dans une première feuille "2015"
Je souhaite, dans une seconde feuille "par chap", copier les lignes de la feuille 2015 si la colone G contien le chiffre 137
pouvez vous m aider ?

1 réponse

Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
Bonjour,

En VBA

Option Explicit

Sub Code()
'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String

Valeur_Cherchee = "137"

Set PlageDeRecherche = Sheets("2015").Columns(7)

Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)

If Trouve Is Nothing Then
    MsBox("La valeur 137 n'est pas dans la colonne G")
    Exit Sub
Else
Sheets("2015").Cells.Copy Sheets("par chap").Cells
End If


Set PlageDeRecherche = Nothing
Set Trouve = Nothing

End Sub


Cordialement.
0
dakota44
 
alors quartz c gentil mais je ne connais pas le VBA peux tu m en dire un peu plus stp ?
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61 > dakota44
 
Je n'ai pas le temps ce soir mais je vous annoterai le code afin que vous compreniez exactement ce qu'il fait et je vous expliquerai aussi comment le mettre en marche. Je fais ça demain.
0
dakota44
 
Merci
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61 > Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Comme promis :

Option Explicit 'Sert simplement à vérifier que toutes les variables soient définies

Sub Code() 'Début du code

Dim Trouve As Range, PlageDeRecherche As Range 'Déclaration de variables
Dim Valeur_Cherchee As String, AdresseTrouvee As String 'Déclaration de variables

Valeur_Cherchee = "137" 'On déclare ici quelle est la valeur cherchée donc "137"

Set PlageDeRecherche = Sheets("2015").Columns(7) 'On déclare ici où chercher la valeur donc la colonne 7, qui est la colonne G

Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole) 'On déclare la variable Trouve qui est le résultat de la recherche

If Trouve Is Nothing Then 'Si la recherche ne donne rien alors...
    MsgBox("La valeur 137 n'est pas dans la colonne G") 'Afficher un message qui dit "La valeur 137 n'est pas dans la colonne G
    Exit Sub 'Arrêter le code
Else 'Sinon...
Sheets("2015").Cells.Copy Sheets("par chap").Cells 'Copier la feuille "2015" sur la feuille "par chap"
End If 'Fin de la condition


Set PlageDeRecherche = Nothing 'On vide la variable (on gagne de la mémoire vive)
Set Trouve = Nothing 'On vide la variable (on gagne de la mémoire vive)

End Sub 'Fin du code


Après avoir un peu compris ce que faisait le code, vous pouvez l'utiliser de la manière suivante :

- Afficher l'onglet développeur sur excel : https://support.office.com/fr-fr/article/Afficher-l-onglet-D%C3%A9veloppeur-ou-ex%C3%A9cuter-le-mode-d%C3%A9veloppeur-1b4a8529-3094-432a-9a7f-53935089e5ed

- Dans cet onglet, cliquez sur "Visual Basic"

- Faites un clic droit sur "Microsoft Excel Objets" dans le panneau de gauche en haut puis cliquez sur insertion -> Module

- Copiez/Coller le code dans le grand cadre blanc qui vient de s'afficher à droite (ATTENTION, COPIER LE CODE DE CE MESSAGE ET PAS DU PREMIER, IL Y AVAIT UNE ERREUR)

- Quittez le visual basic à l'aide de la croix rouge

- Toujours dans l'onglet "Développeur", cliquez sur "Insérer"

- Choisir le premier bouton qui s'appelle "Bouton (contrôle de formulaire)

- Dessiner le bouton sur la feuille Excel

- Choisissez la macro "Code" dans la liste puis cliquez sur OK

Et voilà, le bouton lance la macro qui fait ce dont vous avez besoin. Si vous voulez renommer le bouton, faites un clic droite dessus puis un clic gauche sur le texte.

Voici un fichier exemple avec votre macro intégrée (si jamais, vous pouvez toujours vous en servir en copiant vos données dessus). N'oubliez pas de cliquer sur "Activer la modification" en haut à droite à l'ouverture.

https://www.cjoint.com/c/EKknVMB00Cf

Cordialement.
0
dakota44
 
j ai beuguer je n arrive pas a partir de
Toujours dans l'onglet "Développeur", cliquez sur "Insérer"

- Choisir le premier bouton qui s'appelle "Bouton (contrôle de formulaire)

- Dessiner le bouton sur la feuille Excel

- Choisissez la macro "Code" dans la liste puis cliquez sur OK

Et voilà, le bouton lance la macro qui fait ce dont vous avez besoin. Si vous voulez renommer le bouton, faites un clic droite dessus puis un clic gauche sur le texte.

Voici un fichier exemple avec votre macro intégrée (si jamais, vous pouvez toujours vous en servir en copiant vos données dessus). N'oubliez pas de cliquer sur "Activer la modification" en haut à droite à l'ouverture.
0