Copier une liste de nom selon certains critères

Salut le forum,

en voici une petite dernière pour cette fin de semaine. Après celle-ci, j'aurai de quoi faire avancer grandement mon projet.

J'ai une liste de nom dans une colonne A d'une certaine feuille et cette liste débute en A2.

Je souhaite, avec du code, pouvoir copier chaque nom dans une feuille à partir de la ligne 7 et ce, à toutes les 20 lignes par la suite.

Donc, le nom en A2 de la première feuille se retrouverait en A7 de la nouvelle feuille. Celui en A3 en A27, A4 en A47 et ainsi de suite.

Merci pour votre aide.

Bonsoir,

essaye ce code :

Sub test()
' Macro par Dan pour Ericf le 26/04/08
Dim i As Integer, J As Integer
J = 7
With Sheets("Feuil2")
For i = 2 To Range("A65536").End(xlUp).Row
.Range("A" & J) = Sheets("Feuil1").Range("A" & i)
J = J + 20
Next
End With
End Sub

Avec :

Feuil1 la feuille où se trouve tes données A2, A3, A4 etc...

Feuil2 étant la feuille de destination

Amicalement

Dan

Re,

par une boucle, mais je pense qu'en regardant ton fichier précédent, cette boucle pourrait être évitée, on pourrait mettre le nom en même temps qu'on fait les copies.....

La boucle :

Sub copie_nom()
Dim Lig As Long, cel As Range
Lig = 7
For Each cel In Range("A2:A" & [A65000].End(xlUp).Row)
    Sheets("Feuil2").Cells(Lig, 1) = cel: Lig = Lig + 20
Next cel
End Sub

Je ne sais pas ce que je fais d'incorrect mais aucune de vos formules ne me copie un nom.

Je change bien feuil1 et feuil2 pour les noms de mes feuilles dans mon fichier mais rien n'y fait.

Dans mon exemple, le nom devrait s'écrire en B4 et être décalé de 13 lignes. J'ai pourtant effectué les changements nécessaires dans le code.

https://www.excel-pratique.com/~files/doc/LFbOSEric_Book2.xls

Re-,

le code que tu utilises n'est pas dans le classeur joint...

Bonjour,

Vois le fichier joint. Lorsque tu es sur la feille NOMS, exécute la macro TEST.

C'est cala que tu veux ?

https://www.excel-pratique.com/~files/doc/Eric_Book3.zip

Amicalement

Dan

Salut Dan,

c'est exactement ça que je veux. Cependant, quand j'essais de placer un bouton pour faire exécuter la macro, ça ne fonctionne pas.

Amicalement.

re,

Dessine ton bouton comme tu l'as fait sur la feuille modèle et place dans la feuille NOMS. ensuite affecte le à la macro TEST

A te relire

Dan

Ça fonctionne bien si le bouton est sur le feuille Noms mais si je le place ailleurs, ça ne fonctionne plus. Dans le vrai programme, le bouton est sur une userform.

11fichier-d-essai.xlsm (107.89 Ko)

re,

Ah ben évidemment c'est tout différent

Et tu es sur quelle feuille quand tu appelles l'Userform ?

Si tu es sur la feuille NOMS, tu peux mettre un code comme ceci :

Private Sub CommandButton1_Click()
Call test
End Sub

Bien entendu, je suppose que ton bouton est bien le bouton 1 dans ton USF.

A te relire

dan

Quand j'ouvre le fichier, le userform apparait mais je n'ai pas encore déterminé qu'elle sera la feuille active. Ce que je comprends, dans ce que tu me dis, c'est que, pour que ça fonctionne, la feuille "Noms" doit être la feuille active.

Si elle ne l'est pas, ça ne fonctionnera pas. C'est ça?

Alors si ce que je viens d'affirmer est vrai, y'a-t-il une solution dans le cas où ma feuille ne serait pas la feuille active?

Re,

sit tu es sur le feulle SHEET2 remplace mon code par celui-ci :

Sub test()
' Macro par Dan pour Ericf le 26/04/08
Dim i As Integer, J As Integer
J = 4
With Sheets("NOMS")
For i = 2 To .Range("A65536").End(xlUp).Row
Sheets("sheet2").Range("B" & J) = .Range("A" & i)
J = J + 20
Next
End With
End Sub

Dan

Deux méthodes qui fonctionnent bien. Je n'ai que l'embarras du choix. Surtout que dans les deux cas, j'arrive à combiner ma macro pour les noms et celle pour les tableaux.

Vraiment cool!

Merci beaucoup à vous deux!

Rechercher des sujets similaires à "copier liste nom certains criteres"