Find + copier-coller + comparaison

Résolu/Fermé
gregt73 Messages postés 52 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 21 janvier 2019 - 5 déc. 2016 à 09:56
gregt73 Messages postés 52 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 21 janvier 2019 - 5 déc. 2016 à 15:09
Bonjour à tous,

Etant (très) novice en VBA sous Excel, je me permet de vous demander votre aide, après avoir passé beaucoup de temps à chercher ce que je veux sur le net, a tenter de l'appliquer dans mon fichier excel...sans succès...

J'aimerais faire plusieurs chose:

1/
J'ai une feuille Excel avec environ 3000 lignes.
Dans chaque lignes se trouve la syntaxe "toto= 1234" ou "toto= 1212" ou "toto= 4321" (donc toujours toto= suivi de chiffre).
Cette syntaxe n'est jamais sur la même colonne (parfois D, ou G, ou K ou autre selon les lignes).
J'aimerais afficher dans la colonne A, tous les "toto" de chaque ligne (avec find, puis copier/coller je pense...)

2/
La valeur contenu après "toto" (1234 ou 1212) a une équivalence dans ma feuille2.
Ex: 1234 signifie "maison"
1212 signifie "travail"
Dans ma feuille1, j'aimerais afficher en colonne B, la correspondance de chaque "toto".

En ésperant avoir été assez clair...

Merci d'avance pour votre aide précieuse....
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 déc. 2016 à 12:13
Bonjour

Cette syntaxe n'est jamais sur la même colonne (parfois D, ou G, ou K ou autre selon les lignes).

quelle colonnes concernées au total (début-fin) ?

liste des correspondances ?

au besoin
Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic droit-coller le raccourci dans votre message

Dans l’attente
0
gregt73 Messages postés 52 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 21 janvier 2019
5 déc. 2016 à 12:20
Bonjour,

Merci pour la réponse.

Les colonnes concernées sont entre C et CZ.

Que faut-il comprendre par "liste des correspondances"?

Cordialement,
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
5 déc. 2016 à 13:55
re,
Ex: 1234 signifie "maison"
1212 signifie "travail"


c'est bien une liste de correspondance...
bref !

il y a t'il d'autres correspondance ?
0
gregt73 Messages postés 52 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 21 janvier 2019
5 déc. 2016 à 15:09
Oulà...
Bref ! Drole de façon de répondre...

Bon, j'ai réussi à faire ce que je voulais même si c'est surement pas super bien codé....

Sub test()
Dim ws As Worksheet
Set ws = Worksheets("onglet1")
Dim ws2 As Worksheet
Set ws2 = Worksheets("onglet2")
Dim lineCnt As Integer
Dim i As Integer
Dim j As Integer

ws.Range("A1").Select
Selection.EntireColumn.Insert

ws.Range("A1").Select
Selection.EntireColumn.Insert

ws.Range("A1").Select
Selection.EntireColumn.Insert

lineCnt = WorksheetFunction.CountA(ws.Range("D:D"))

For i = 1 To lineCnt

ws.Rows(i).Find("toto", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Copy
ws.Range("A" & i).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues
Next i

For i = 1 To lineCnt
ws.Range("B" & i) = Right((ws.Range("A" & i)), 3)

Next i


For i = 1 To lineCnt

For j = 2 To 123

If (ws.Range("B" & i) = ws2.Range("A" & j)) Then
ws.Range("C" & i) = ws2.Range("B" & j)
End If

Next j
Next i

End Sub
0