OVH Cloud OVH Cloud

création de boucles VBA sur Excel

1 réponse
Avatar
Arnaud
Bonjour =E0 tous,

En ces lendemains de f=EAte, je cherche =E0 cr=E9er une boucle=20
visual basic qui me permette de remplacer le contenu d'une=20
cellule par autre cose de pr=E9d=E9fini.
Pour =EAtre clair et aider =E0 la compr=E9hension, j'ai une=20
colonne contenant des r=E9f=E9rences. Sur un autre onglet j'ai=20
une colonne "A" avec toutes mes r=E9f=E9rences et une=20
colonne "B" avec le nom d'article correspondant =E0 ma=20
r=E9f=E9rence. Je voudrais que sur mon premier onglet ma=20
r=E9f=E9rence soit remplac=E9e par le nom de l'article. Comment=20
faire?
Je ne sais pas qu'elle r=E9f=E9rence il y aura dans la=20
cellule, je ne sais pas combien de lignes je vais avoir et=20
surtout je ne sais pas comment coder le fait que je veux=20
que pour une valeur donn=E9e, j'ai autre chose qui=20
s'inscrive dans ma cellule.

Merci =E0 tous ceux qui pourront m'aider.

1 réponse

Avatar
Lydya
Bonsoir Arnaud,
Voici une macro à copier/coller dans un module:
(ALT F11 pour afficher l'éditeur Visual Basic, Insertion / Module)
--
Sub RechCodRemplArt()
Dim Ref As String
Dim i As long
Dim NbLignes As Long
NbLignes = Sheets(1).Columns(1).Find("*", , , , , xlPrevious).Row
For i = 1 To NbLignes
Ref = Sheets(1).Cells(i, "A").Value
If Not Sheets(2).Columns(1).Find(Ref) Is Nothing Then
Sheets(1).Cells(i, "A") = _
Sheets(2).Columns(1).Find(Ref).Offset(0, 1).Value
End If
Next i
End Sub
--
->la macro parcourt chaque cellule de la colonne A de la feuille 1 du
classeur (de la ligne 1 jusqu'à la dernière ligne contenant des données),
->recherche la chaîne de caractères de la cellule parcourue dans la colonne
A de la feuille 2 du classeur,
->si la chaîne recherchée est trouvée, remplace le contenu de la cellule
parcourue (Col A feuille 1) par celui de la cellule située immédiatement à
droite de l'occurrence trouvée (col B feuille 2).
--
Bonnes fêtes!

Lydya

--------



"Arnaud" a écrit dans le message de
news:02ce01c3cbbb$338bf900$
Bonjour à tous,

En ces lendemains de fête, je cherche à créer une boucle
visual basic qui me permette de remplacer le contenu d'une
cellule par autre cose de prédéfini.
Pour être clair et aider à la compréhension, j'ai une
colonne contenant des références. Sur un autre onglet j'ai
une colonne "A" avec toutes mes références et une
colonne "B" avec le nom d'article correspondant à ma
référence. Je voudrais que sur mon premier onglet ma
référence soit remplacée par le nom de l'article. Comment
faire?
Je ne sais pas qu'elle référence il y aura dans la
cellule, je ne sais pas combien de lignes je vais avoir et
surtout je ne sais pas comment coder le fait que je veux
que pour une valeur donnée, j'ai autre chose qui
s'inscrive dans ma cellule.

Merci à tous ceux qui pourront m'aider.