Code erreur 400

Fermé
Clr14444 - Modifié par jordane45 le 12/12/2014 à 19:49
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 - 12 déc. 2014 à 19:55
Bonjour,

Je ne suis pas douée en VBA, le code erreur 400 apparait dans ma macro qui a très bien fonctionnée une fois mais désormais ne fonctionne plus ! Au secours !J'ai épluché les forums, je ne trouve pas :

Sub Import()

'Définir les élements utiles pour la macro
Dim dateduj As Date
Dim e, ligne_date

'Définir la valeur de la date définit comme "dateduj" dans le code
dateduj = ThisWorkbook.Worksheets("Commande").Cells(4, 2).Value

'Définir comme étant égale à 3
'C'est à dire que la ligne à partir de laquelle il doit recherhceh la date dans les onglet de DATA
e = 3

'Lancer la recherche de dates la première colonne à partir de la ligne  définit précedement par i
Do Until Cells(e, 1) = dateduj
e = e + 1
Loop
ligne_date = e

'selectionner l'onglet january et la cellule B2
Sheets("january").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Janvier
Sheets("Janvier").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
'selectionner l'onglet february et la cellule B2
Sheets("february").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet fevrier
Sheets("Février").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'selectionner l'onglet march et la cellule B2
Sheets("march").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Mars
Sheets("Mars").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False


'selectionner l'onglet april et la cellule B2
Sheets("april").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Avril
Sheets("Avril").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'selectionner l'onglet may et la cellule B2
Sheets("may").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Mai
Sheets("Mai").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'selectionner l'onglet june et la cellule B2
Sheets("june").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Juin
Sheets("Juin").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
'selectionner l'onglet july et la cellule B2
Sheets("july").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Juillet
Sheets("Juillet").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'selectionner l'onglet august et la cellule B2
Sheets("august").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Aout
Sheets("Août").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
'selectionner l'onglet september et la cellule B2
Sheets("september").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Septembre
Sheets("Septembre").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
        
'selectionner l'onglet october et la cellule B2
Sheets("october").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet October
Sheets("Octobre").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'selectionner l'onglet November et la cellule B2
Sheets("november").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Novembre
Sheets("Novembre").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'selectionner l'onglet december et la cellule B2
Sheets("december").Select
Range("B2").Select
'Selctionner les cellules vers la droite tant qu'il y a des cellules
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Sélectionner onglet Decembre
Sheets("Décembre").Select
'sélectionner la ligne corespondant à la date de saisir dans la colonne B
Range("B" & ligne_date).Select
'Copie les valeurs
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub


Par avance merci pour votre aide,



EDIT : Ajout des balises de code (jordane)

1 réponse

jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689
12 déc. 2014 à 19:55
Bonjour,

1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

2 - Tu as cette erreur ... sur quelle ligne de ton code ?

3 - Tu fais du COPY / PAST pour mettre une valeur d'un onglet dans un autre onglet ???
Il est préférable d'éviter ce genre de manipulation et d'utiliser à la place :
Sheets("ma_feuille_de_destination").Range("A1").value = Sheets("ma_feuille_Source").Range("B1").value


4 - Tu peux eventuellement nous mettre à disposition ton fichier Excel pour qu'on le regarde ( sur le site : cijoint.com ) puis en nous donnant le lien ici.
0