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
851
Réponses
5
Affichages
321

Statistiques des forums

Discussions
314 450
Messages
2 109 731
Membres
110 553
dernier inscrit
loic55