A voir également:
- VBA Macro pour rechercher et copier
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Rechercher ou entrer l'adresse - Guide
- Comment copier une vidéo youtube - Guide
- Rechercher et remplacer word - Guide
- Super copier - Télécharger - Gestion de fichiers
2 réponses
bonjour,
Lorsque l'on demande ce genre de choses, il faut être extrêmement précis.
Pour le nom est en j ou en Z ??
le mieux est de mettre une copie le fichier en cjoint.com
en attendant voici le bout de code qu'il faudra peut être réadapté car j'ai pris 2 hypothèses :
- ta colonne A est oujours renseigné
- Si la colonne J est vide, alors on prned la valeur dans Z
Sub x()
i = 2
'la macro tournera jusqu'à ce que la colonne A trouve une cellule vide
Do While Sheets("DEPART").Cells(i, 1) <> ""
'si la colonne j est vide, on cherche le nom dans la colonne Z
If Sheets("DEPART").Cells(i, 10) <> "" Then
nomfeuille = Sheets("DEPART").Cells(i, 10)
Else
nomfeuille = Sheets("DEPART").Cells(i, 26)
End If
' on va regarder se la feuille existe déjà pour ajouter la ligne sur la feuille
trouvve = 0
For feuille = 1 To Sheets.Count
If Sheets(feuille).Name = nomfeuille Then
lignefeuille = 2
Do While Sheets(feuille).Cells(lignefeuille, 1) <> ""
lignefeuille = lignefeuille + 1
Loop
Sheets("DEPART").Rows(i).Copy Sheets(feuille).Cells(lignefeuille, 1)
trouve = 1
End If
Next
'si la feuille n'existe pas, on la créé
If trouve = 0 Then
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = Sheets("DEPART").Cells(i, 1)
Sheets("DEPART").Rows(1).Copy Sheets(feuille).Cells(1, 1)
Sheets("DEPART").Rows(i).Copy Sheets(feuille).Cells(2, 1)
End If
i = i + 1
Loop
End Sub
Lorsque l'on demande ce genre de choses, il faut être extrêmement précis.
Pour le nom est en j ou en Z ??
le mieux est de mettre une copie le fichier en cjoint.com
en attendant voici le bout de code qu'il faudra peut être réadapté car j'ai pris 2 hypothèses :
- ta colonne A est oujours renseigné
- Si la colonne J est vide, alors on prned la valeur dans Z
Sub x()
i = 2
'la macro tournera jusqu'à ce que la colonne A trouve une cellule vide
Do While Sheets("DEPART").Cells(i, 1) <> ""
'si la colonne j est vide, on cherche le nom dans la colonne Z
If Sheets("DEPART").Cells(i, 10) <> "" Then
nomfeuille = Sheets("DEPART").Cells(i, 10)
Else
nomfeuille = Sheets("DEPART").Cells(i, 26)
End If
' on va regarder se la feuille existe déjà pour ajouter la ligne sur la feuille
trouvve = 0
For feuille = 1 To Sheets.Count
If Sheets(feuille).Name = nomfeuille Then
lignefeuille = 2
Do While Sheets(feuille).Cells(lignefeuille, 1) <> ""
lignefeuille = lignefeuille + 1
Loop
Sheets("DEPART").Rows(i).Copy Sheets(feuille).Cells(lignefeuille, 1)
trouve = 1
End If
Next
'si la feuille n'existe pas, on la créé
If trouve = 0 Then
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = Sheets("DEPART").Cells(i, 1)
Sheets("DEPART").Rows(1).Copy Sheets(feuille).Cells(1, 1)
Sheets("DEPART").Rows(i).Copy Sheets(feuille).Cells(2, 1)
End If
i = i + 1
Loop
End Sub
Cross posting sauvage
https://www.developpez.net/forums/d1580987/logiciels/microsoft-office/excel/macros-vba-excel/copie-colle-lignes-sous-condition/
https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=77172&start=
Dans combien de forums cette question a t’elle été posée ?‼
Michel
https://www.developpez.net/forums/d1580987/logiciels/microsoft-office/excel/macros-vba-excel/copie-colle-lignes-sous-condition/
https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=77172&start=
Dans combien de forums cette question a t’elle été posée ?‼
Michel
Caroline
Si dans la ligne Z, le mot recherché TOTO apparait dans la colonne J ou s'il apparait dans la colonne Z, alors copier l'ensemble de la ligne dans un autre onglet
...
J'ai déjà créé tous mes onglets ;)
dans une cellule, faut le demander à l'utilisateur ?