Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Re,
J'ai fait ce que tu a dis mais quand je lance ma macro, Le texte n'est pas reconnu et donc rien ne se passe!
A signaler que le texte de la feuille 2 provient d'un copier coller d'un site internet !
@+
Sub TEST()
Dim Rng1 As Range, Rng2 As Range
Set Rng1 = Intersect(Feuil1.Columns(2), Feuil1.UsedRange)
Set Rng2 = Feuil2.UsedRange: Set Rng2 = Rng2.Columns(Rng2.Columns.Count + 1)
Rng2.FormulaR1C1 = "=TRIM(RC1)"
Rng1.FormulaR1C1 = "=INDEX(Feuil2!R1C2:R" & Rng2.Rows.Count & "C2,MATCH(RC1," _
& Rng2.Address(True, True, xlR1C1, True) & ",0))"
Rng1.Value = Rng1.Value
Rng2.EntireColumn.Delete
End Sub
Les noms des objets Worksheet qui assument auprès de VBA la représentation des entités de l'application hôte que sont les feuilles Excel ayant pour onglets "Feuil1" et "Feuil2" s'appellent-ils toujours Feuil1 et Feuil2 comme dans le classeur joint ? À vérifier dans la rubrique Microsoft Excel Objets de l'explorateur de projet, et changer s'il y a lieu.
Je veux dire que dans le classeur joint Feuil1 et Feuil2 étaient des expressions Worksheet définies.
Est-ce toujours le cas dans le classeur où tu as essayé ?
Remarque ça aurait dû planter plus haut si ce n'était pas le cas.
Est-ce qu'il n'y aurait plus rien dans la colonne 2 de Feuil1 ?
Mets un espion sur Rng1 pour vérifier s'il n'est pas Nothing.
Bonjour, bonjour Dranreb,
Grace à toi j'ai compris comment faire ma macro pour plusieurs lignes !
Code:
Sub TEST()
Dim i As Long, j As Long, k As Long, A As Long
A = 1
With Sheets("Feuil2")
For i = 1 To 3 Step 2
.Cells(i, 10).FormulaR1C1 = "=TRIM(RC1)"
For j = 1 To 2
j = A
If .Cells(i, 10) = Sheets("Feuil1").Cells(j, 1) Then
For k = 2 To 9
.Cells(i, k).Copy Sheets("Feuil1").Cells(j, k)
Next k
Exit For
Else
A = A + 1
End If
Next j
Next i
End With
End Sub
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD