Erreur 400??

ccdouble6

XLDnaute Occasionnel
Bonsoir le forum!!

J'utilise Excel 2000 sous win XP et j'ai un souci avec une erreur VBA qui s'affiche : "400". Voici la situation :
J'ai une macro dans une feuille, mettons la feuille3, dans laquelle j'ai placé une zone de texte qui renvoie à cette macro : ça marche impeccable.

Dans une autre feuille, la feuille 6, je copie-colle le texte de la macro et je place dans la feuille une zone de texte qui (j'ai vérifié) renvoie bien à la macro de la feuille 6 et non à celle de la 3.

Cette macro (le texte est plus loin) insère une ligne au-dessus de celle où se trouve la cellule sélectionnée, lorsque je clique sur la zone de texte.
Donc je clique sur la zone de texte de la feuille 6, de la même façon que pour la 3, et là j'ai une boite de message avec écrit juste "400" :confused:
L'aide d'Excel ne m'est d'aucun secours, je ne vois pas ce qu'est une feuille dite "modèle", d'ailleurs le texte de la macro est bel et bien présent dans la feuille 6 et la zone de texte en feuille 6 renvoie bien à la macro de la feuille 6.

Donc je ne comprends pas..
Peut-être qu'on ne peut pas mettre une même macro dans deux feuilles distinctes? :(
Peut-être que la macro même comporte le problème, c'est pourquoi je vous mets ci-dessous le texte.
(je me demande au passage si le guillemet simple de la ligne4 est utile...)

Sub NouvelleLigneAuDessus()
' Insère une ligne au-dessus de la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
'Dim ZtNumLig As Integer

Dim ZtDerCol As Integer
Dim i
ActiveCell.EntireRow.Insert
ActiveCell.Range("A2").Select
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig - 1, 1), Cells(ZtNumLig - 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig - 1, i).HasFormula Then
Cells(ZtNumLig - 1, i).ClearContents
End If
Next i
End Sub


C'est vraiment handicapant mais bon il doit bien y avoir une logique... ;)
Merci d'avance pour vos lumières et bonne soirée !
 

ziopizza

XLDnaute Occasionnel
Re : Erreur 400??

Bonjour ccdouble6,
j'ai testé ta macro ,elle fonctionne trés bien chez moi??
Je joins le fichier de test.
@+ Yves
Ta Macro doit être unique et dans un Module,il n'est pas utile de faire 2 fois le même code
 

Pièces jointes

  • essai.xls
    40 KB · Affichages: 114
  • essai.xls
    40 KB · Affichages: 126
  • essai.xls
    40 KB · Affichages: 120
Dernière édition:

ccdouble6

XLDnaute Occasionnel
Re : Erreur 400??

Un petit détail toutefois (je suis complètement novice dslé) :

Est-ce vraiment nécessaire que les fenêtres des feuilles1 et 2 (vides de texte) soient présentes avec le module?

Sur mon tableau j'ai réussi à faire apparaître le module et à y insérer le texte d'Insert Ligne, mais je n'ai que la fenêtre "feuil3 (code)" (vidée donc) ouverte avec celle du module, je ne sais pas comment faire apparaître la fenêtre "feuil6 (code)" car dans la feuille 6 se trouve aussi un bouton lié au module.
A moins que ça n'ait pas d'importance?

Merci encore !!! :)
 

ccdouble6

XLDnaute Occasionnel
Re : Erreur 400??

:D Super, ça marche impec même si la feuille ne s'affiche pas dans l'espace VBA.

Cette idée de module va vraiment me faire économiser du texte, car à l'arrivée il y a 10 feuilles sur lesquelles je devais placer cette macro :rolleyes:

Merci encore Ziopizza,
A bientôt!! :cool:
 

Statistiques des forums

Discussions
312 369
Messages
2 087 673
Membres
103 633
dernier inscrit
Surfer