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 :

Copier une variable résultat vers une cellule d'une colonne adjacente. [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire base de donnée tarif
    Inscrit en
    Décembre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Gestionnaire base de donnée tarif
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Décembre 2013
    Messages : 1
    Points : 5
    Points
    5
    Par défaut Copier une variable résultat vers une cellule d'une colonne adjacente.
    Bonjour à tous,

    j'ai besoin de votre aide, je veux copier le résultat de ma variable Cell1 vers la cellule de la colonne de droite de A vers B,
    je me casse les dents sur ce dernier point.

    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
    Sub test()
    '
    ' test Macro
     
        Columns("B:B").Select
        Selection.NumberFormat = "@"
        ' je passe ma colonne B en format texte pour conserver les "0"
     
        Dim Cell0 As Variant
        Dim Cell1 As Variant
        Dim mystring As String
        Dim Nbcar As Byte
        Dim ligne As Variant
     
     
        Range("A2").Select
        Range(Selection, Selection.End(xlDown)).Select
        'je selectionne l'ensemble des éléments à traiter
     
        For Each Cell0 In Selection
            ligne = ActiveCell.Row
            'je recupère le numéro de ma ligne
            Nbcar = Len(Cell0)
            'je recupère le nombre de caractère de ma cellule
            MsgBox (Nbcar)
            mystring = String((9 - Nbcar), "0")
            'je trouve le nombre d'occurence à concatener
            MsgBox (mystring)
            Cell1 = mystring & Cell0
            ' et j'assemble le tout sous une nouvelle variable
            MsgBox (Cell1)
           ActiveSheet.Range("B", ligne) = Cell1
           ' je veux afficher mon résultat sur la colonne B !!!!
        Next Cell0
     
    End Sub
    Merci d'avance.
    Donq64

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 117
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 117
    Points : 1 640
    Points
    1 640
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("B", ligne) = Cell1
    Les arguments de l'objet Range sont soit des cellules, soit l'adresse de cellules.

    si tu concatène "B" avec le numero de ligne, ca devrais mieux fonctionner.

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Ou bien on utilise l'objet Cells(ligne,Colonne).

    Cells est essentiellement un objet Range adapté aux opérations avec des numéros de ligne et de colonne à la place des adresses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.cells( ligne,2).value = Cell1.value
    Je sais bien que Value est la propriété par défaut, mais je me méfie des automatismes de VBA, ou même de VB. La seule chose dont je ne suis pas capable de me passer est le transcodage automatique.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/07/2014, 16h56
  2. Réponses: 7
    Dernier message: 19/06/2013, 10h47
  3. [XL-2003] Envoi d'une variable EXCEL vers un champ dans une BDD ACCESS ouverte
    Par Baloo84 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2012, 16h52
  4. Réponses: 4
    Dernier message: 10/10/2010, 23h06
  5. Réponses: 3
    Dernier message: 01/06/2009, 18h21

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