Boucle VBA
Résolu
jujumty77
Messages postés
10
Statut
Membre
-
jujumty77 Messages postés 10 Statut Membre -
jujumty77 Messages postés 10 Statut Membre -
Bonjour Bonjour,
Je suis complètement nulle en VBA malgré de multiples formations.
J'arrive à savoir ce que je veux mais je n'arrive pas à le coder :
J'espère que mon explication sera assez claire :
Tant que :
Dans le classeur 'requete journaux macro', colonne B n'est pas vide
Copier la cellule d'à coté A
Aller dans le classeur 'requete générale'
Faire un controle F, et coller la valeur qu'on avait copier
Copier la cellule trouvé (qui sera dans la colonne A)
Retourner dans le classeur 'requete journaux macro'
Coller dans B
Fin de tant que.
D’après moi ça marche car j'ai réussi à créer cette macro par l'exemple mais je n'arrive pas à rajouter la boucle :'(
Ps : j'ai essayé avec une recherche V toute simple mais ça ne fonctionne pas car dans la case A du classeur requete générale, ce qui compose la cellule est plein d'espace, de virgule, et de texte inutile.
Merci D'avance.
Bonne journée
Je suis complètement nulle en VBA malgré de multiples formations.
J'arrive à savoir ce que je veux mais je n'arrive pas à le coder :
J'espère que mon explication sera assez claire :
Tant que :
Dans le classeur 'requete journaux macro', colonne B n'est pas vide
Copier la cellule d'à coté A
Aller dans le classeur 'requete générale'
Faire un controle F, et coller la valeur qu'on avait copier
Copier la cellule trouvé (qui sera dans la colonne A)
Retourner dans le classeur 'requete journaux macro'
Coller dans B
Fin de tant que.
D’après moi ça marche car j'ai réussi à créer cette macro par l'exemple mais je n'arrive pas à rajouter la boucle :'(
Ps : j'ai essayé avec une recherche V toute simple mais ça ne fonctionne pas car dans la case A du classeur requete générale, ce qui compose la cellule est plein d'espace, de virgule, et de texte inutile.
Merci D'avance.
Bonne journée
2 réponses
Bonjour,
Vous devriez mettre vos classeur a dispo, car peut-être que ca marche, mais comprends rien…….
Site de partage: https://mon-partage.fr/
Vous devriez mettre vos classeur a dispo, car peut-être que ca marche, mais comprends rien…….
Site de partage: https://mon-partage.fr/
bonjour, quelles formations as-tu suivies?
je remarque que ta boucle ne s’arrête jamais: est-ce bien ce que tu souhaites?
je remarque que ta boucle ne s’arrête jamais: est-ce bien ce que tu souhaites?
montre le code que tu as déjà, ce sera plus simple de le completer.
commencer à la première ligne du classeur 'requete journaux macro Tant que Dans le classeur 'requete journaux macro', colonne B n'est pas vide dans le classeur 'requete générale' , faire une recherche sur base du contenu de la cellule de la colonne A de 'requete journaux macro' Copier dans B de 'requete journaux macro' le contenu trouvé par la recherche passer à la ligne suivante dans le classeur 'requete journaux macro' continuer tant que.
exemple de boucle:
Sub jujumty() Dim nlig As Long Dim journaux As Worksheet, articles As Worksheet nlig = 1 Set journaux = ThisWorkbook.Sheets("Journaux") Set articles = ThisWorkbook.Sheets("Articles") Do While journaux.Cells(nlig, 2) <> "" 'faire la recherche, dans articles, du contenu de journaux.Cells(nlig, 1) ' journaux.Cells(nlig, 2) = la valeur issue de la recherche nlig = nlig + 1 Loop End Sub
Sub jujumty() Dim nlig As Long Dim journaux As Worksheet, articles As Worksheet Dim trouve As Range nlig = 2 Set journaux = ThisWorkbook.Sheets("Journaux") Set articles = ThisWorkbook.Sheets("Articles") Do While journaux.Cells(nlig, 2) <> "" Set trouve = articles.Cells.Find(What:=journaux.Cells(nlig, 1), _ LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _ xlNext, MatchCase:=False, SearchFormat:=False) If Not trouve Is Nothing Then journaux.Cells(nlig, 2) = trouve End If nlig = nlig + 1 Loop End Sub
Je vais trouver! merci quand meme :)
Voici le lien.
En gros je voudrais que dans la colonne B de l'onglet 'journaux' j'ai le titre de l'article (qui est dans l'onglet 'Articles').
Par ce que en fait dans l'onglet article colonne A j'ai toutes les informations qui sont dans une seule case, alors que j'aimerais que le journal (qui correspond à la dernière partie de la case) soit dans une case à coté. Je sais qu'il existe d'autre méthode et pas uniquement le VBA mais la rechercheV (avec Vrai) me donne pas les bons résultats, et je ne connais pas la formule qui me fait prendre que les derniers caractères de la cellules (sachant qu'il n'y a jamais le même nombre de caractère).
dites moi si je ne suis pas claire.
Merci d'avance