Erreur 438 vba

Fermé
Salabane - 6 avril 2011 à 11:20
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 6 avril 2011 à 21:54
Bonjour,

Novice en VBA, je suis actuellement en phase de développement d'une macro qui devrait permettre de lancer des opérations de copier coller si le nom d'une des feuilles du classeur intitulé E coincide avec le nom du classeur D. Jusque la, l'exécution de mon code aboutit à l'erreur 438.

Voici mon code:


Ee = CStr(E)
Dd = CStr(D)

Set E_base2 = Workbooks.Open(base2 & E)
Workbooks(E).Select
With Workbooks(E)
For Each Sheet In Worksheets
If Sheet.Name = Dd Then
(.....)
End if
Next Sheet



Quelqu'un aurait-il une idée sur le code à adopter?
Merci par avance!




1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
6 avril 2011 à 21:54
Bonjour,

Conseil pour novices : il faut systématiquement commencer un module par :
Option Explicit

Dans la procédure, il suffit ensuite d'écrire une seule ligne à la fois et de vérifier (en l'exécutant) qu'il n'y a pas d'erreur

Dans ton cas sur la première ligne il y a 2 erreurs : les variables Ee et E ne sont pas déclarées, à moins que tu n'aies voulu écrire :
Ee = "E"
Auquel cas il ne manque au préalable que la déclaration de Ee ce qui donne :

Option Explicit
Sub Test()
Dim Ee as String

  Ee = "E"

End sub


Bon courage pour la suite, ce n'est qu'en comprenant ses erreurs que l'on peut progresser.
0