Macro Copier coller répéter

danpom302

XLDnaute Nouveau
Bonjour à tous,

C'est ma première demande. Je recherche une macro qui me permettra de copier la valeur des cellules AD3:AD103 vers B5:B500 comme suit:
AD3 → B5
AD4 → B22
AD5 → B39
Etc., et ce, jusqu’à ce que la prochaine cellule vide de la colonne AD soit sélectionnée.

Merci,

Dan
 

fanfan38

XLDnaute Barbatruc
Re : Macro Copier coller répéter

Bonjour et bienvenue sur ExcelDownloads

1° Tout d'abord un fichier exemple et TOUJOURS le bienvenue...
2° apparemment tu as un pas de 17 en b?
3° Si j'ai bien compris tu veux copier 100 cellules dans 495/17=29,11....
comment fais tu quand tu es à 500?
Dans la macro si dessus je suis reparti à 5....

Sub copie()
b = 5
For ad = 3 To 103
If Len(Range("AD" & ad).Value) = 0 Then Exit Sub
Range("B" & b).Value = Range("AD" & ad).Value
b = b + 17
If b > 500 Then b = b - 500 + 5
Next
End Sub


A+ François
 

danpom302

XLDnaute Nouveau
Re : Macro Copier coller répéter

Bonjour François,

Merci pour votre réponse. Je joins mon document Excel pour une meilleure compréhension.

Je désire copier la valeur se trouvant dans la cellule AD3 et la coller dans la cellule B5 puis répéter cette action en copiant la valeur se trouvant dans la cellule AD4 et la coller dans la cellule B21 et ainsi de suite jusqu'à ce que l'action rencontre une cellule vide dans la colonne AD pour ensuite arrêter la macro.

Merci,

Dan






Bonjour et bienvenue sur ExcelDownloads

1° Tout d'abord un fichier exemple et TOUJOURS le bienvenue...
2° apparemment tu as un pas de 17 en b?
3° Si j'ai bien compris tu veux copier 100 cellules dans 495/17=29,11....
comment fais tu quand tu es à 500?
Dans la macro si dessus je suis reparti à 5....

Sub copie()
b = 5
For ad = 3 To 103
If Len(Range("AD" & ad).Value) = 0 Then Exit Sub
Range("B" & b).Value = Range("AD" & ad).Value
b = b + 17
If b > 500 Then b = b - 500 + 5
Next
End Sub


A+ François
 

Pièces jointes

  • Transfert_données.xlsm
    127.3 KB · Affichages: 38

fanfan38

XLDnaute Barbatruc
Re : Macro Copier coller répéter

As tu essayé ma macro?
Tu n'as pas répondu à ma question: Comment fais tu quand tu es arrivée à 500?
car b5=ad3, b21=ad4, b5=ad3, b21=ad4, b37=ad5, b53=ad6, b69=ad7, b85=ad8, b101=ad9, b117=ad10, b133=ad11
etc...
b453=ad31, b469=ad32, b485=ad33, b501=ad34, b517=ad35, b533=ad36[/B]...

Ton fichier joint n'explique rien...
A+ François
 

danpom302

XLDnaute Nouveau
Re : Macro Copier coller répéter

Bonjour François,

Oui j'ai essayé ta macro et elle fait pas ce que je désire obtenir.

Voici ce que je cherche à faire:

Copier les valeurs dans les cellules ad3 à ad102 dans les cellules b5 à b1589 soit comme suit :

b5=ad3, b21=ad4, b37=ad5, b53=ad6, b69=ad7, b85=ad8, b101=ad9, b117=ad10…
b1509=ad97, b1525=ad98, b1541=ad99, b1557=ad100, b1573=ad101, b1589=ad102

Lorsque la macro identifie une cellule vide en ad, celle-ci arrête la boucle et retourne à a1.

Merci,

Dan
 

fanfan38

XLDnaute Barbatruc
Re : Macro Copier coller répéter

Reconnais que tu as changé la donne...
Sub copie()
b = 5
For ad = 3 To 103
If Len(Range("AD" & ad).Value) = 0 Then
range("a1").select
Exit Sub
endif
Range("B" & b).Value = Range("AD" & ad).Value
b = b + 17
Next
End Sub

Volila la modif
la ligne
If Len(Range("AD" & ad).Value) = 0 Then Exit Sub
sert à quitter si rien en AD

A+ François
 

danpom302

XLDnaute Nouveau
Re : Macro Copier coller répéter

Bonjour François,

Merci pour l'information. Le tout fonctionne bien.

Désolé pour le délai à répondre à votre message. Mon fils c'est marié en fin de semaine et nous avons profité de l'occasion pour nous divertir.

Merci et à la prochaine.

Dan
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83