Vba

Résolu
Bonjour,
j'arrive pas a comprendre ou est l'erreur dans cette macro dans VBA

Sub selctfeuille()

Sheets("saisie").Select

az = Range("C6").Select.Value

Sheets("az").Select

End Sub

2 réponses

  1. Contributeur
    Bonjour
    az était entre guillemets et donc VBa cherchait la feuille nommée "az"

    Sub selctfeuille() 
    dim az as string

    az = Sheets("saisie").Range("C6")
    Sheets(az).activate

    End Sub

    Michel
    1. Merci beaucoup les amis . une dernière chose ce saire a quoi de déclare le type de variable en premier parce que ça marche même si on déclare PS .
    2. Contributeur
      @aminescbonjour

      en fait avant la macro il faudrait marquer "Option explicit" ce qui oblige à déclarer les variables
      déclarer les variables permettent d'optimiser des mémoires (L1,L2,RAM) en les organisant

      d'ailleurs,une astuce consiste à mettre le variables en nom propre, une erreur laisse le code en minuscule puisque non reconnu dans les déclarations

      avec un peu d'usage du VBA, option explicit détecte toute faute de frappe dans l'écriture du code, chose que l'on sait tous bien faire!
    3. bonjour ,
      on tous qu'a merci pour l'explication , mais j 'ai pas vraiment compris
    4. @aminescBonjour,

      Pour faire simple (même si j'ai trouvé excellente l'explication de michel_m) la déclaration d'une variable permet d'optimiser la mémoire vive utilisée.

      Après pour mieux comprendre, je te conseille d'aller sur le site Openclassroom et de regarder un peu comment marchent les codes.
    5. @KuartzMerci beaucoup . je vais consulter le site
  2. Bonjour,

    Erreur de syntaxe.

    - 'Range("C6").Select.Value' ne veut rien dire.

    - La variable "az" n'a pas été définie (pas obligatoire mais il vaut mieux)

    Le code modifié donne :

    Sub selctfeuille()
    
    Dim az As String
    
    Sheets("saisie").Select
    
    az = Range("C6").Value
    
    Sheets(az).Select
    
    End Sub


    Cordialement.