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 :

[E-03] Utiliser une variable globale de type Const pour mes colonnes


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Points : 111
    Points
    111
    Par défaut [E-03] Utiliser une variable globale de type Const pour mes colonnes
    Salut a tous et a toutes,

    est-il possible d'utiliser des variables globales pour appeler les colonnes de mes feuilles. Mon but estde pouvoir rendre ma feuille dynamique dans le sens que si un jour quelqu'un ajoute une colonne, mes macros continuent de fonctionner correctement en affectant les variables aux bonnes colonnes automatiquement.

    Exemple, j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Sheets(sheetname_donnee2).Cells(i, 4) = "A" Then
    Sheets(sheetname1).Cells(j, 1) = Sheets(sheetname_donnee2).Cells(i, 1)
    End If
    Si jamais une 5eme colonne est ajouté entre mes colonnes, cells(i,4) ne representera plus ma colonne 4 initiale. Je voudrais simplement pouvoir remplacer cells(i,4) par cells(i,nomdecolonne) afin que ma macro repere toujours la bonne colonne peu importe ou elle est situé.

    En esperant avoir été clair, merci de bien vouloir me donner vos idées et/ou astuces pour remedier à ce problème.

    Merci d'avance de votre aide

  2. #2
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    j'ai déja eu cette question, vas faire un tour ici : Récupérer une cellule nommée

  3. #3
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Points : 111
    Points
    111
    Par défaut
    Merci pour ton aide drakkar_agfa mais ce n,est pas exactement ce que je recherche. L'appel de la cellule, je sais comment le faire mais c'est plutot comment renommer une colonne de tel sorte a ne plus utiliser des chiffres (1,2,3,...) pour la selectionner mais peut etre une variable const qui me placerait tout le temps sur la colonne souhaité si jamais on la deplacais un jour.

    Merci

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    une solution est de nommer une cellule dans cette colonne, par exemple la première cellule qui est bien souvent le titre de la colonne ce qui évite qu'elle soit supprimée en cas de suppression de la ligne.

    Une fois cette cellule nommée, tu peux faire référence à sa colonne comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("nomdelacellule").Column
    Pour nommer la cellule, tu la sélectionnes et dans la "zone nom" (en haut à gauche) tu remplaces la référence de cette cellule par un nom

    Cdlt

  5. #5
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Points : 111
    Points
    111
    Par défaut
    Encore mieux que les variables. Merci Fring, c'est excactement ce que je voulais.

    Merci énormément !

  6. #6
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    C'est un peu ce que je disais, la prochaine fois je donnerai plus d'explications

  7. #7
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    oups...sorry drakkar je n'avais pas ouvert le lien que tu proposais, en effet tu avais donné la réponse

  8. #8
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Points : 111
    Points
    111
    Par défaut
    Excuse moi Drakkar. Je n'avais pas bien compris alors...mes excuses...merci tout de meme..tout marches !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/02/2009, 07h11
  2. Comment utiliser une variable globale de dll ?
    Par Chamatho dans le forum Langage
    Réponses: 14
    Dernier message: 29/11/2008, 20h22
  3. Créer une variable globale de type tableau
    Par beegees dans le forum Langage
    Réponses: 1
    Dernier message: 27/10/2008, 00h26
  4. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    Réponses: 21
    Dernier message: 02/05/2006, 15h21

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