Excel erreur 1004 en VBA

Résolu/Fermé
Nox - Modifié par Nox le 30/08/2012 à 08:06
 Nox - 30 août 2012 à 08:51
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 =)


A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié le 31 janv. 2019 à 11:52
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
Modifié le 31 janv. 2019 à 11:52
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
Cela fonctionne !
Je vous remercie énormement !
0