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/
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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