Menu

VBA Boucle "Tant que.." [Résolu]

Messages postés
84
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
23 mai 2019
- - Dernière réponse : Coco-8
Messages postés
84
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
23 mai 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 :)
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
15833
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mai 2019
2725
1
Merci
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


Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 39200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de michel_m
Messages postés
14383
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 mai 2019
1137
1
Merci
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

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 39200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de f894009
Messages postés
15833
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mai 2019
2725
1
Merci
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é !

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 39200 internautes nous ont dit merci ce mois-ci

Coco-8
Messages postés
84
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
23 mai 2019
1 -
Feuil 2 ! mais si ça marche avec la feuil 5 je peux m'adapter :)
Je vais essayer avec ta correction, merci
Coco-8
Messages postés
84
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
23 mai 2019
1 -
Ca ne fonctionne toujours pas, si quelqu'un à la réponse à mon problème j'en serais ravi :)
michel_m
Messages postés
15833
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mai 2019
2725 -
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
http://www.commentcamarche.net/contents/129-charte-d-utilisation-de-commentcamarche-net-respect-d-autrui#politesse
Coco-8
Messages postés
84
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
23 mai 2019
1 -
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
Commenter la réponse de michel_m
Messages postés
84
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
23 mai 2019
1
0
Merci
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
Coco-8
Messages postés
84
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
23 mai 2019
1 -
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
f894009
Messages postés
14383
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 mai 2019
1137 -
Re,

La feuil5 ne sert a rien donc!!
Coco-8
Messages postés
84
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
23 mai 2019
1 -
Non non, j'aurais dû la supprimer avant d'envoyer le fichier, désolé
f894009
Messages postés
14383
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 mai 2019
1137 -
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
Coco-8
Messages postés
84
Date d'inscription
lundi 27 février 2017
Statut
Membre
Dernière intervention
23 mai 2019
1 -
Parfait ça marche très bien ! J'ai réussi à l'adapter à mon fichier, et ça donne exactement ce que je voulais. Donc merci beaucoup f894009
Commenter la réponse de Coco-8