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 :

Incrémenter lettre macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Janvier 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Janvier 2019
    Messages : 2
    Par défaut Incrémenter lettre macro
    Bonjour,

    Ne connaissant rien en VBA, je sollicite votre aide.
    Mon code suivant ne fonctionne pas du tout, je souhaite incrémenter le numéro de colonne et renvoyer la lettre correspondante qui vient remplacer une référence de colonne dans les cellules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Macro1()
    ' Macro1 Macro
        Dim X As Integer
        X = 18 'Numéro ligne de départ
        Y = 4 'Numéro colonne de départ
        While X <= 372 'Tant que la variable X est <= 372, la boucle est répétée
            X = X + 2 'X est augmenté de 2 à chaque boucle
            Y = Y + 1 'Y est augmenté de 1 à chaque boucle
            Range(Cells(X - 1, 2), Cells(X, 5)).Select 'On sélectionne la plage à modifier
            Selection.Replace What:="$D", Replacement:="$" & Chr(Y), LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=False 'On recherche la colonne à remplacer dans les cellules et remplace par la colonne voulue
            Wend
    End Sub
    En vous remerciant par avance,
    Cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Attention à la correspondance Caractère Lettre -> code ASCII
    Lettre (MAJ) -> code ASCII
    A ----- > 65
    B ----- > 66
    C ----- > 67
    D ----- > 68
    ... ....
    Y ----- > 89
    Z ----- > 90

    donc dans votre cas, il faut ajouter 64 à Y pour obtenir la lettre correspondante Selection.Replace What:="$D", Replacement:="$" & Chr(Y + 64), LookAt:=xlPart, cependant, au delà de la valeur atteinte de 90(Z), ce ne sera plus bon.
    utilisez plutôt ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            Range(Cells(X - 1, 2), Cells(X, 5)).Select 'On sélectionne la plage à modifier
            L_Col = Split(Cells(X, Y).Address, "$")(1)
            Selection.Replace What:="$D", Replacement:="$" & L_Col, LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=False 'On recherche la colonne à remplacer dans les cellules et remplace par la colonne voulue
    Cdlt

  3. #3
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Janvier 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Janvier 2019
    Messages : 2
    Par défaut
    Bonjour,

    Super merci ça fonctionne à merveille !
    Je me suis inspirer de ce que je voyais en recherchant sur internet, j'aurais dû regarder à quoi correspondait cette fonction. Merci pour l'explication !

    Cordialement

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

Discussions similaires

  1. incrémenter ma macro variable
    Par kykyn69 dans le forum Macro
    Réponses: 2
    Dernier message: 10/03/2016, 15h19
  2. Incrémenter une macro variable?
    Par jkiii dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/02/2014, 11h37
  3. [AC-2010] Conversion chiffres en lettres (macro et VBA)
    Par maitydeal dans le forum IHM
    Réponses: 1
    Dernier message: 07/10/2010, 18h23
  4. Réponses: 4
    Dernier message: 14/12/2009, 12h53
  5. incrémentation lettre chiffre
    Par FIFI33160 dans le forum Excel
    Réponses: 5
    Dernier message: 28/03/2008, 16h01

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