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 :

Rajouter des caractères a une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Rajouter des caractères a une cellule
    Bonjour

    voici ma question, je ne pense pas que cela soit dur a réaliser, mais je ne suis pas un expert.

    je cherche une macro qui s'exécute sur une cellule sélectionnée, et qui ajoute quelques caractères à cette cellule, puis à celle d'apres etc..

    je m'explique :

    je selectionne la cellule A1, qui a pour valeur AAA.
    je veux que lorsque je lance la macro, elle me rajoute 01 après AAA,
    et 02 en A2 après BBB, 03 en A3 apres CCC.

    Avant la macro :
    A1 : AAA
    A2: BBB
    A3: CCC

    apres la macro :
    A1 : AAA01
    A2: BBB02
    A3 : CCC03

    voila j'espere que je suis clair

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Bonjour gilou,

    Voici une option possible, en faisant l'hypothèse que tu as nommé la première cellule concerné par ce traitement "MY_CELL" (à défaut tu n'auras qu'à remplacer par son adresse, exemple "A1")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub CompleterCellule
     
       dim cur_row as long
     
       cur_row=0
       while not isempty(range("MY_CELL").offset(cur_row,0))
          range("MY_CELL").offset(cur_row,0).value=range("MY_CELL").offset(cur_row,0).value & iif(cur_row<9,"0","") & cur_row+1
          cur_row=cur_row+1
       wend
     
    end sub

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    bonjour et merci.
    Cela est bien, mais je ne marche que pour une cellule précise,

    il me faut quelque qui marche pour n'importe quelle cellule sélectionnée.

    en fait, la macro que j'obtiens en la faisant a la main est presque parfait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Sub Macro3()
    '
    ' Macro3 Macro
    '
     
    '
        Range("C944").Select
        ActiveCell.FormulaR1C1 = "AA01"
        With ActiveCell.Characters(Start:=1, Length:=18).Font
            .Name = "Calibri"
            .FontStyle = "Normal"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 5
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        Range("C945").Select
        ActiveCell.FormulaR1C1 = "BB02"
        With ActiveCell.Characters(Start:=1, Length:=15).Font
            .Name = "Calibri"
            .FontStyle = "Normal"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = 5
            .TintAndShade = 0
            .ThemeFont = xlThemeFontNone
        End With
        Range("C946").Select
    End Sub

    le probleme c'est que ce code marche pour une cellule en particuliere...

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sub ajoute()
         with activecell
               .value=.value & "01"
               .offset(1,0).value=.offset(1,0).value & "02"
               .offset(2,0).value=.offset(2,0).value & "03"
         end with
    end sub

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Super celui marche parfait, merci beaucoup

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/01/2014, 09h28
  2. rajouter des zéros dans une cellule excel
    Par generationnex dans le forum Excel
    Réponses: 2
    Dernier message: 16/06/2010, 11h43
  3. Rajouter un caractère dans une cellule
    Par pedrolahn dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/07/2008, 11h24
  4. Supprimer des caractères dans une cellule
    Par freyliss dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/08/2007, 14h02
  5. Rajouter des caractères dans une chaine
    Par pymouse dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/05/2007, 17h35

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