Erreur 1004 a méthode select de la classe range a echoué

Florian53

XLDnaute Impliqué
Bonjour j'ai une erreur qui apparaît qui n'apparaissait pas auparavant :

Apriori sa serait au niveau d'ActiveSheet.Paste que ça plante

Je vous colle mon code:


Private Sub BtnValider_Click()

With Sheets("feuil1")
Derlign = .Range("e65000").End(xlUp).Row + 1 'définition de la première ligne vide
.Range("e" & Derlign) = ComboBox1
.Range("g" & Derlign) = ComboBox2
.Range("i" & Derlign) = ComboBox3
Unload UserForm1
.Range("D" & Derlign) = DateValue(Date)
.Range("e" & Derlign).Copy
Workbooks.Open Filename:="C:\Documents and Settings\Florian\Mes documents\essai\Demande d'achat.xls"
.Range("ah3").Select
ActiveSheet.Paste
.Range("g" & Derlign).Copy
Range("ah4").Select
ActiveSheet.Paste
.Range("i" & Derlign).Copy
Range("ah5").Select
ActiveSheet.Paste

End With
Call Efface_Tout 'appel de la routine d'effacement après validation
Unload UserForm1
End Sub


Si quelqu'un pourrait m'indiquez ce qui ferez que ce code s'exécute mal merci a vous
 

CBernardT

XLDnaute Barbatruc
Re : Erreur 1004 a méthode select de la classe range a echoué

Bonsoir Florian53,

Quelques remarques pour améliorer un code :

1- La définition des variables facilite la recherche d'erreur de syntaxe ;
2- Employer une variable pour copier et coller afin d'éviter un copier/ActiveSheet.Paste qui demande d'alller et venir du classeur source au classeur cible par la méthode de classeur Activate.

Private Sub BtnValider_Click()
Dim Derlign As Integer, Temp1, Temp2, Temp3
With Sheets("feuil1")
Derlign = .Range("E65000").End(xlUp).Row + 1 'définition de la première ligne vide
.Range("E" & Derlign) = ComboBox1
.Range("G" & Derlign) = ComboBox2
.Range("I" & Derlign) = ComboBox3
.Range("D" & Derlign) = Date
Temp1 = ComboBox1
Temp2 = ComboBox2
Temp3 = ComboBox3
End With
Unload UserForm1

Workbooks.Open Filename:="C:\Documents and Settings\Florian\Mes documents\essai\Demande d'achat.xls"
With Sheets("XXXXXX")
.Range("AH3") = Temp1
.Range("AH4") = Temp2
.Range("AH5") = Temp3
End With
Call Efface_Tout 'appel de la routine d'effacement après validation
End Sub

Cordialement

Bernard
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Erreur 1004 a méthode select de la classe range a echoué

bonsoir

voir comme ceci !?

Code:
Private Sub BtnValider_Click()
VarE$ = ComboBox1
VarG$ = ComboBox2
VarI$ = ComboBox3
With Sheets("feuil1")
Derlign = .Range("e65000").End(xlUp).Row + 1 'définition de la première ligne vide
.Range("e" & Derlign) = VarE$
.Range("g" & Derlign) = VarG$
.Range("i" & Derlign) = VarI$
.Range("D" & Derlign) = DateValue(Date)
End With
Workbooks.Open Filename:="C:\Documents and Settings\Florian\Mes documents\essai\Demande d'achat.xls"
' encore faufrait t'il savoir dans quelle feuille tu veux !?
' ici ce sera la feuille active à la position du dernier enregistrement de ce classeur !?
' il serait bon de preciser: Sheets(NoDeLaFeuil).Range("ah3") = Var$ (ou NomDeLaFeuil !?)
ActiveSheet.Range("ah3") = VarE$
ActiveSheet.Range("ah4") = VarG$
ActiveSheet.Range("ah5") = VarI$
Call Efface_Tout 'appel de la routine d'effacement après validation
Unload UserForm1
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 779
Messages
2 092 045
Membres
105 167
dernier inscrit
JulJon2004