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. 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.
    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