VBA, Repporter les lignes contenant un mot

toto -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai une feuille Excel nommée « Statue commande » dans laquelle j'ai un tableau. Dans la colonne A, j'ai le nom du fournisseur, dans la colonne B la référence du produit et dans la D, le statue de la commande sous forme de liste déroulante avec 3 choix ( commander, en commande, reçu) J'aimerai que lorsque je clique sur le commande bouton1 de cette feuille, les lignes pour lesquelles j'ai « A commander » dans la colonne D, les valeurs des colonne A et B soient retranscrites dans les colonnes A et B de la feuilles « A commander », les une après les autres à partir de la première ligne vide.

Merci pour votre aide

5 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour,

    Et tu veux absolument du VBA ? cela se fait avec des formules pas trop compliquées...
    Tu dis
    0
  2. toto
     
    Bonjour, merci pour l'aide,

    Oui en VBA serait top,
    Je n'y arrive pas...
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour,
    envoie un extrait de ton classeur, merci

    pour joindre une pièce
    mettre le classeur sans données confidentielles en pièce jointe (format XL97-2003) sur
    https://www.cjoint.com/
    et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse

    0
  4. toto
     
    Bonjour,

    Voici l'exemple:
    http://cjoint.com/?AKpmzHTNHVp

    Merci pour l'aide
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    On ne peut pas dire que tu te sois trop fatigué pour faire ton exemple: 2 lignes alors qu'il faut envisager plusieurs "a commander"; ta demande différente du classeur (colonnes AB ---> ABC)...c'est pas grave, les bénévoles bossent un peu plus... :-(

    voici la macro
    Option Base 1 
    Sub macroinutile() 
    Dim Nbre As Byte, Lig As Byte 
    Dim T_out, Ligvid As Byte 
    
    With Sheets("statut commande") 
         Nbre = Application.CountIf(.Columns("D"), "A commander") 
         If Nbre = 0 Then GoTo vide 
         ReDim T_out(Nbre, 3) 
         Lig = 4 
         For cptr = 1 To Nbre 
              Lig = .Columns("D").Find("A commander", Cells(Lig, "D"), xlValues).Row 
              T_out(cptr, 1) = .Cells(Lig, "A") 
              T_out(cptr, 2) = .Cells(Lig, "B") 
              T_out(cptr, 3) = .Cells(Lig, "C") 
         Next 
    End With 
    
    With Sheets("A commander") 
         Ligvid = .Columns("A").Find("", .Range("A5")).Row 
         .Cells(Ligvid, "A").Resize(Nbre, 3) = T_out 
         .Activate 
    End With 
    Exit Sub 
    vide: 
    MsgBox " toutes les achats sont passés en commande,vbcritical"

    Michel
    0