Erreur 438 vba

Salabane -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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