VBA Macro pour rechercher et copier

Fermé
vbajecherche Messages postés 9 Date d'inscription jeudi 21 avril 2016 Statut Membre Dernière intervention 21 avril 2016 - 21 avril 2016 à 08:05
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 21 avril 2016 à 14:17
Bonjour,

j'ai un gros fichier excel et souhaiterai réaliser une macro, mais je sèche
Voici ce que je cherche à faire :

- chaque ligne de mon onglet DEPART contenant le mot TOTO en colonne J ou Z soit copiée / collée dans un nouvel onglet appelé TOTO
- chaque ligne de mon onglet DEPART contenant le mot SOLEIL en colonne J ou Z soit copiée / collée dans un nouvel onglet appelé SOLEIL
- chaque ligne de mon onglet DEPART contenant l'expression LES VACANCES en colonne J ou Z soit copiée / collée dans un nouvel onglet appelé LES VACANCES
- etc, etc.

Qui peut m'aider à créer ma macro ??
Un grand merci par avance,

Caroline


A voir également:

2 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
21 avril 2016 à 08:40
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
0
vbajecherche Messages postés 9 Date d'inscription jeudi 21 avril 2016 Statut Membre Dernière intervention 21 avril 2016
21 avril 2016 à 08:48
Merci mélanie. Le mot recherché peut être en colonne J mais il peut aussi etre en colonne Z, et dès lors qu'il est dans l'une ou l'autre des colonnes, alors oui je veux sélectionner la ligne pour la mettre dans l'onglet correspondant
Caroline
0
vbajecherche Messages postés 9 Date d'inscription jeudi 21 avril 2016 Statut Membre Dernière intervention 21 avril 2016
21 avril 2016 à 08:49
Et mes colonnes J et Z sont systématiquement renseignées, donc pas de colonne vide
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
21 avril 2016 à 09:03
alors comment sait-on qu'il doit prendre la colonne j ou Z ????
0
vbajecherche Messages postés 9 Date d'inscription jeudi 21 avril 2016 Statut Membre Dernière intervention 21 avril 2016
21 avril 2016 à 09:09
Si dans la ligne 1 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
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 ;)
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
21 avril 2016 à 09:11
ok alors ou se trouve le mot cherché ?
dans une cellule, faut le demander à l'utilisateur ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 21/04/2016 à 14:21
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
21 avril 2016 à 14:17
elle l'a posé une dizaine de fois
0