IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur : Déclaration existante dans la portée en cours [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Par défaut Erreur : Déclaration existante dans la portée en cours
    Bonjour :

    J'ai eu une erreur de compilation à la deuxième ligne à "jourMois As Integer" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Positionnement()
    Dim lastCol, lastLig, nomSemaine, newCol, mois, jourMois, i, j, k, l, lastLigCsv, exit1, jourMois As Integer
    Dim a, b As Boolean
    Cela ne m'est jamais arrivé avant et je ne sais pas pourquoi.

    Merci d'avance.

  2. #2
    Membre actif Avatar de DonkeyPuncher
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2013
    Messages : 56
    Par défaut
    Bonjour !

    Tu déclares deux fois la même variable dans la liste !

  3. #3
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Effectivement, tu déclares deux fois la variable jourMois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sub Positionnement()
    Dim lastCol, lastLig, nomSemaine, newCol, mois, jourMois, i, j, k, l, lastLigCsv, exit1, jourMois As Integer
    De plus, de la manière dont tu fais ta déclaration, la quasi totalité de tes variables est déclarée As Variant.
    En effet, il convient, en VBA de typer chaque variable.

    Ainsi, ta déclaration devrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Positionnement()
    Dim lastCol As Integer, lastLig As Integer, nomSemaine As Integer, newCol As Integer, mois As Integer
    Dim i As Integer, j As Integer, k As Integer, l As Integer, lastLigCsv As Integer, exit1 As Integer, jourMois As Integer
    Dim a As Boolean, b As Boolean
    Une autre petite chose, le nombre de lignes peut éventuellement dépasser la limite des Integer. Donc, pour les variables représentants le numéro des lignes et les variables servant pour des boucles, il convient de préférer Long plutôt qu'Integer.
    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Positionnement()
    Dim lastCol As Integer, lastLig As Long, nomSemaine As Integer, newCol As Integer, mois As Integer
    Dim i As Long, j As Long, k As Long, l As Long, lastLigCsv As Long, exit1 As Integer, jourMois As Integer
    Dim a As Boolean, b As Boolean
    Dernier détail, il vaut mieux donner aux variables des noms explicites. Lorsque l'on revient sur le code quelques temps plus tard c'est plus facile de savoir qu'elle variable sert à quoi...

    Je précise que tout ceci n'est pas bloquant, mais peut réellement aider.

  4. #4
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Par défaut
    Citation Envoyé par DonkeyPuncher Voir le message
    Bonjour !

    Tu déclares deux fois la même variable dans la liste !
    Oui. Question bête. J'aurais dû le remarquer. Merci

    Merci beaucoup pijaku! Je ne savais pas qu'on ne pouvait pas mettre "As Integer" à la fin de plusieurs variables. Merci pour ton explication précise

    Et au passage bravo pour les Cours Excel c'est utile.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/04/2014, 21h10
  2. erreur de syntaxe dans la déclaration d'une variable
    Par supcomingenieur dans le forum Langage
    Réponses: 13
    Dernier message: 10/05/2013, 13h48
  3. Réponses: 7
    Dernier message: 10/10/2011, 10h09
  4. erreur de syntaxe dans la déclaration du tableau ou de la fonction
    Par une_tite_question dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/08/2010, 17h23
  5. Erreur d'URL dans Developpez.com Cours JAVA
    Par fagma dans le forum Général Java
    Réponses: 2
    Dernier message: 20/08/2009, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo