copie ne se faisant pas

  • Initiateur de la discussion Initiateur de la discussion JBL8
  • Date de début Date de début

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 !

Essayez comme ça :
VB:
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
 
Re,
j'ai cette erreur ici :
Code:
Rng1.FormulaR1C1 = "=INDEX(Feuil2!R1C2:R" & Rng2.Rows.Count & "C2,MATCH(RC1," _
      & Rng2.Address(True, True, xlR1C1, True) & ",0))"[ATTACH=full]1010051[/ATTACH]
essai.jpg
 
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.
 
Dernière édition:
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é ?
upload_2018-4-10_0-44-28.png

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.
 
Dernière édition:
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

Merci beaucoup et bonne journée !
 

Pièces jointes

- 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

Discussions similaires

Réponses
5
Affichages
406
Retour