VBA Boucle "Tant que.."

Résolu
Bonjour à tous,

J'ai créé une macro qui copie des données d'une feuille A et qui les colles dans une feuille B. Les données de la feuille A dépendent de la référence qui se trouve dans la cellule B1. Donc si je veux transférer plusieurs références, je dois changer manuellement la valeur dans B1 entre chaque exécution de ma macro. Jusqu'ici tout va bien.

J'aimerais désormais améliorer ma macro et faire en sorte qu'elle transfert les données de plusieurs références différentes d'un coup. En gros, je voudrais rajouter dans ma macro actuelle, une boucle qui permet de rentrer une a une les valeurs du tableau "Ref à importer" (voir ci-dessous) dans la cellule B1, par le biais d'un copier-coller par exemple, et qu'après chaque copie colle, réaliser ma macro.



Pour résumer, j'aimerais savoir comment rajouter la boucle "TANT QU'IL Y A DES VALEURS DANS D3:D5, COPIER D3 DANS B2 PUIS [REALISER MACRO ACTUELLE] PUIS COPIER D3+1,....]

J'espère avoir été assez clair.

Merci de votre aide :)

4 réponses

  1. Contributeur
    Bonjour

    sans trop de renseignement de ta part et donc....

    Option Explicit
    '---------------------------
    Sub D3D5()
    Dim Liste, Cptr As Byte
    Liste = Array([D3], [D4], [D5])

    For Cptr = 0 To UBound(Liste)
    Range("B2") = Liste(Cptr)
    Call ta_macro(Liste(Cptr))
    Next

    End Sub

    '-----------------------------------
    Sub ta_macro(etape)

    If etape <> "" Then MsgBox etape ' pour essai
    'code de la macro...
    End Sub


    1
    1. Bonjour,

      Si j'ai bien compris votre demande:

      Sub copie_Ref()
          With Worksheets("feuil1")       'nom de feuille a adapter
              n = 3
              Do While .Cells(n, 4) <> ""
                  .Cells(1, 2) = .Cells(n, 4)
                  n = n + 1
                  'code MACRO ACTUELLE
                  '
                  '
                  '
                  'fin code MACRO ACTUELLE
              Loop
          End With
      End Sub
      1
      1. Contributeur
        Bonjour

        Je m'étais planté, c'était B1 et non B2 pour la sélection

        maintenant

        on travaille sur feuil2 ou feuil5 ?

        merci d'avance d'^tre sans ambiguité !

        1
        1. Feuil 2 ! mais si ça marche avec la feuil 5 je peux m'adapter :)
          Je vais essayer avec ta correction, merci
          0
        2. Ca ne fonctionne toujours pas, si quelqu'un à la réponse à mon problème j'en serais ravi :)
          0
        3. Etant donné que je t'ai dis que j'allais réessayer avec ta correction, j'imaginais que tu attendais (ou quelqu'un d'autre) de voir si le code VBA était fonctionnel avant de réessayer de voir le problème. Ce n'était en aucun cas un manque de patience de ma part
          0
      2. Merci pour vos réponses mais après avoir essayé chacune de votre macro je n'arrive pas à les faire fonctionner...
        Pour que ce soit plus simple, voici mon fichier : https://mon-partage.fr/f/cI9Qw7LS/

        N'hésitez pas si jamais vous avez besoins d'autres informations

        Merci
        0
        1. Salut michel_m, ca roule ???

          Coco-8
          Quel est votre interet de passer par une feuille intermediaire pour ecrire dans l'onglet Importation?????????????????
          0
        2. Le fichier que je vous ai envoyé est une réplique beaucoup plus simplifié de mon fichier sur lequel je travaille. Dans celui-ci, j'ai des feuilles avec des données que je ne dois pas toucher (résumé dans la feuil1 sur le fichier envoyé), une feuille intermédiaire dans laquelle je réalise des calculs à partir des données (ici feuil2) et une dernière feuille qui consiste à transmettre les données de la feuille de calculs dans la feuille "IMPORTATION" à l'aide d'une macro sous un certain format pour pouvoir extraire cette feuille vers un ERP.
          Dans mon cas réel, les données dans la première feuille ne sont pas celles que je veux transférer dans l'ERP, elles doivent être modifiées, c'est pour cela que je passe par une feuille intermédiaire.
          Merci
          0
        3. Re,

          La feuil5 ne sert a rien donc!!
          0
        4. Non non, j'aurais dû la supprimer avant d'envoyer le fichier, désolé
          0
        5. Re,

          Y a pas d'lezard…..

          fichier modifie, plus besoin de votre macro1: https://mon-partage.fr/f/zSguNZjS/

          Si modif(s), faites les dans le module MCopie_donnees, si cela vous convient
          0