Problème de #REF! et Rows.Count

Bonjour à tous,

Je viens vers vous à cause d'une erreur dans mon code VBA

Le principe de la Macro est de copier des données d'un fichier Excel vers une autre fichier Excel à la suite de données déjà inscrites (d’où le Rows.Count).

Mon problème actuel est que la Macro colle en A1 alors que cela ne devrait pas être le cas car les 100 premières cellules sont remplis (ligne et colonne).

De plus, j'obtiens des #REF! partout où quelque chose a été collé. J'ai une solution potentiel à ça. Il faudrait faire un "Coller Valeur" car il s'agit de formule dans le fichier d'origine. Mais je n'ai aucune idée de comment faire ça sous forme VBA

Private Sub CommandButton2_Click()

 Dim derLigne As Long

CommandButton1.BackColor = RGB(166, 166, 166)

Range("D27:L31").Select
    Selection.Copy

 Workbooks.Open Filename:= _
        "S:\XXXXX.XX.XXXXX\XXXX\ABC.xlsx"

Workbooks("ABC").Sheets("Feuille1").Select

derLigne = Range("A" & Rows.Count).End(xlUp).Row

Sheets("Production").Range("A" & derLigne).Select
    ActiveSheet.Paste

End Sub

Quelqu'un a des pistes à me donner ? Merci par avance

(Un EDIT a été fait)

Bonjour,

je n'avais pas l'erreur au même endroit ... en tous cas ceci fonctionne

Sub test()

Dim derLigne As Long

Range("D27:L31").Select
Selection.Copy

Workbooks.Open Filename:= _
        "C:\Users\Michel\Downloads\ABC.xlsx"

Workbooks("ABC.xlsx").Sheets("Feuille1").Select '(c'était ici l'erreur)

derLigne = Range("A" & Rows.Count).End(xlUp).Row

Range("A" & derLigne).Select 
ActiveSheet.Paste

End Sub
4test.xlsm (13.41 Ko)
3abc.xlsx (7.94 Ko)

Merci beaucoup pour ta réponse, je ne sais pas comment ça se fait que cela ne marchait pas sur mon fichier mais j'ai trouvé une solution. Cela semble être une solution similaire à toi mais je suis confronté à un autre problème maintenant (voir EDIT du message principal)

Je viens de bien tester ton fichier, cela fonctionne nickel. Merci énormément

Il me faudrait juste un moyen de coller des données avec la mise en forme "valeur" pour ne pas conserver les formules, ni avoir des liens vers l'autre classeur mais uniquement les valeurs

Bonjour Tris, Steelson,

Peur-être comme ça :

Private Sub CommandButton2_Click()
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)

CommandButton1.BackColor = RGB(166, 166, 166)
Set CS = ThisWorkbook 'définit le classeur source CS
Set OS = CS.ActiveSheet 'définit l'onglet source OS
Workbooks.Open Filename:= _
"S:\XXXXX.XX.XXXXX\XXXX\ABC.xlsx" 'ouvre un classeur
Set CD = ActiveWorkbook 'définit le classeur destination CD
Set OD = CD.Worksheets("Feuille1") 'définit l'onglet destination OD
OS.Range("D27:L31").Copy 'copie la plage D27:L31 de l'onglet source
'colle les valeurs dans la de la première cellule vide de la colonne A de l'onglet destination
OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues)
End Sub

Merci beaucoup, ton code fonctionne. Je vais maintenant essayer de l'appliquer à mon fichier Excel

Rechercher des sujets similaires à "probleme ref rows count"