VBA Boucle "Tant que.."

Résolu/Fermé
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 - 25 févr. 2019 à 16:03
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 - 26 févr. 2019 à 13:17
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

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
Modifié le 25 févr. 2019 à 16:36
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
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
25 févr. 2019 à 16:33
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
26 févr. 2019 à 08:46
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
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 2
26 févr. 2019 à 09:02
Feuil 2 ! mais si ça marche avec la feuil 5 je peux m'adapter :)
Je vais essayer avec ta correction, merci
0
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 2
26 févr. 2019 à 09:16
Ca ne fonctionne toujours pas, si quelqu'un à la réponse à mon problème j'en serais ravi :)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
26 févr. 2019 à 09:22
Si je ne répond dans la 1/2 heure qui suit tu écris:
si quelqu'un à la réponse à mon problème j'en serais ravi :)

BRAVO :-((
lire d'urgence
https://www.commentcamarche.net/infos/25855-charte-d-utilisation-de-commentcamarche-net-respect-d-autrui/#politesse
0
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 2
26 févr. 2019 à 09:26
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
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 2
Modifié le 26 févr. 2019 à 08:38
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
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
26 févr. 2019 à 11:13
Salut michel_m, ca roule ???

Coco-8
Quel est votre interet de passer par une feuille intermediaire pour ecrire dans l'onglet Importation?????????????????
0
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 2
26 févr. 2019 à 11:27
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
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
26 févr. 2019 à 11:36
Re,

La feuil5 ne sert a rien donc!!
0
Coco-8 Messages postés 92 Date d'inscription lundi 27 février 2017 Statut Membre Dernière intervention 16 juillet 2019 2
26 févr. 2019 à 11:42
Non non, j'aurais dû la supprimer avant d'envoyer le fichier, désolé
0
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
Modifié le 26 févr. 2019 à 12:03
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