Excel erreur 1004 en VBA

Résolu
Nox -  
 Nox -
Bonjour,

J'ai lu plusieurs forum trouvant cette erreur mais je n'ai pas réussi à identifier mon erreur ..
voila j'ai besoins d'utilisé excel comme base de donné car acces est inaccessible a mon travail . Et à chaque excussion de mon code , j'ai l'erreur 1004 qui apparait :/
Voici mon code :

Sub Personnel()
'aller sur la page et selectionner les cellule
Sheets("formulaire").Select
Range("A2:F2").Select
Selection.Copy
'test determinant ligne ou coller info du tableau
Sheets("123").Select
ValeurA2 = Range("A2").Value
If ValeurA2 = "" Then
Range("A2").Select
Else
Range("A2").End(xlDown).Select
End If
'Memo le n° linge où coller les donnee
ligneActive = ActiveCell.Row
'Collage
Range("A" & ligneActive).Select
Selection.Paste
SkipBlanks = False
'Rendre vierge le formulaire
Sheets("formulaire").Select
Range("A2:F2").Select
Selection.ClearContents
Range("A2").Select
End Sub

je vous remercie d'avance de m'aider =)

3 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 772
     
    Bonjour,
    Ton code pourrait être résumé comme suit :

    Sub Personnel() 
    'aller sur la page 
    With Sheets("formulaire")
        'copier/coller les cellules
        .Range("A2:F2").Copy Sheets("123").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
        'Rendre vierge le formulaire 
        .Range("A2:F2").ClearContents 
    End With
    End Sub


    2
  2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour,

    Tu as constitué ta macro avec l'enregistreur, mais elle peut être beaucoup plus simple et surtout fonctionner ainsi :

    Sub Personnel() 
    Dim ligneActive As Long 
    'test determinant ligne ou coller info du tableau 
    ligneActive = Sheets("123").Cells(Rows.Count, 1).End(xlUp).Row + 1 
    'aller sur la page et selectionner les cellule 
    Sheets("formulaire").Range("A2:F2").Copy Destination:=Sheets("123").Cells(ligneActive, 1) 
    'Rendre vierge le formulaire 
    Sheets("formulaire").Range("A2:F2").ClearContents 
    Sheets("formulaire").Range("A2").Select 
    End Sub 
    

    edit: bonjour pijaku, je suis un peu en retard ... bonne journée à toi.
    2
  3. Nox
     
    Cela fonctionne !
    Je vous remercie énormement !
    0