copie ne se faisant pas

JBL8

XLDnaute Nouveau
Bonjour,
J'ai fait une macro pour copier des N° de la feuille 2 dans la colonne B de la feuille 1 sans que cela marche !
Merci !
 

Pièces jointes

  • report_numeros.xls
    51 KB · Affichages: 30

Dranreb

XLDnaute Barbatruc
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
 

JBL8

XLDnaute Nouveau
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
 

Dranreb

XLDnaute Barbatruc
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:

Dranreb

XLDnaute Barbatruc
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:

JBL8

XLDnaute Nouveau
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

  • report_numeros.xls
    59.5 KB · Affichages: 27

Discussions similaires

Réponses
24
Affichages
502
Réponses
5
Affichages
170

Statistiques des forums

Discussions
312 490
Messages
2 088 882
Membres
103 981
dernier inscrit
vinsalcatraz