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

  1. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
     
    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
    1. dakota44
       
      alors quartz c gentil mais je ne connais pas le VBA peux tu m en dire un peu plus stp ?
      0
    2. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65 > 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
    3. dakota44
       
      Merci
      0
    4. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65 > 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
    5. 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