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 :

Faire référence à une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Faire référence à une cellule
    Bonjour à tous,

    je viens vers vous car je n'arrive pas à faire référence à une cellule, donc si vous pouviez me donner la fonction ça serait pas mal!

    -> Je sais comment recopier une valeur dans une cellule, admettons:

    A1: 2

    J'ai envie de reporter cette valeur en A2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2").value=Range("A1").value
    Seulement ça me met que "2" en A2, j'aimerai qu'il y ait: A2=A1, comme ça si je modifie A1, A2 se modifie directement aussi!

    -> Pour trouver la bonne "formule" j'ai enregistrer une macro et voilà ce que ça me met:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Macro4()
    '
    ' Macro4 Macro
    '
     
    '
    Range("A2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=R2C1"
    Range("A3").Select
    End Sub
    -> J'ai donc essayé de copier cette formule dans mon code, mais voilà le problème:

    Dans "R2C1" j'aimerai bien mettre "L" à la place de 2 et "C" à la place de 1 pour pouvoir mettre une boucle. Mais ça ne marche pas




    Je suis nouveau sur cette plateforme, donc désolé d'avance si je suis dans le mauvais forum, etc..


    Merci à vous

  2. #2
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonjour,

    Ce n’est pas assez clair pour moi, Merci de donner plus de détails Avec les tenants et les aboutissants et le but final …
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour,


    je veux tout simplement copier la formule et non pas la valeur. Je veux reproduire la même chose lorsque l'on se sert que d'Excel

    Exemple lorsque l'on se sert que d'Excel:

    Je clique sur la cellule A2
    Puis j'écris "=A1"


    Ainsi, lorsque la valeur de la cellule A1 change, la valeur de la cellule A2 change également.

    Je veux trouver la formule qui permet le même mécanisme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sub exemple ()
    range("A2").value=Range("A1").value
    end sub
    Ce code affecte seulement la valeur de la cellule A1 dans la cellule A2.


    J'ai pas de code pré-établis

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Pour résumé:


    Lorsque j'exécute ma macro, je veux que lorsque je clique sur la cellule concerné A2:

    =A1


    et non pas

    =2 (valeur d'A1)

  5. #5
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Fais une recherche sur Range.Formula ou Range.FormulaLocal, tu auras les explications
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  6. #6
    Membre actif
    Homme Profil pro
    Ancien Etudiant
    Inscrit en
    Janvier 2019
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ancien Etudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 152
    Points : 224
    Points
    224
    Par défaut
    Bonjour,

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=R2C1"
    on était pas loin (encore que R2C1 en A2 ...)

    après pour insérer des variables dans une chaine:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim L As Long, C As Integer
    L = 5
    C = 6
    MsgBox "Roméo" & L & "Charly" & C  ' donnera =>"Roméo5Charly6"

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour ton temps et ton aide Ryu, j'ai pas été très claire avec vous pour vous expliquer ma problématique.

    répond en partie à mon problème, puisque ça me permet de faire référence à des cellules et non pas aux valeurs de ces cellules.

    Voilà un exemple de code qui pourrait vous éclaircir sur mes intentions:

    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
     
    Sub test()
    Dim l, c As Integer
     
    l = 1
    i = 1
     
    For i = 1 To 10
     
        Cells(l, 3).Formula = Cells(l, 1) * Cells(l, 2)
     
        l = l + 1
     
    Next
     
    End Sub
    où par exemple:
    A1:A10=2
    B1:B10= 1, 2, 3, 4, ..., 10

    Ce code calcule la table de 2 et donne le résultat dans la colonne C (3ème colonne).

    Voilà ce que je souhaite:

    Après avoir exécuter ma macro (et sans avoir à réutiliser ma macro), pouvoir changer les valeurs de la première et/ou deuxième colonne et qu'ainsi la valeur des cellules de la colonne C se modifie directement.


    Or les valeurs de la colonne C, après l'exécution du code ci-dessus ne font pas référence aux cellules des deux premières colonnes. Si je prends la cellule C1 par exemple, sa valeur est de 2. Moi j'aimerai que lorsque je clique sur la cellule C1, il y ait comme résultat "=A1*B1"

    Il est possible d'obtenir ce que je veux en tapant par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C1").formula="= A1*B1"
    Cependant, il faudrait que j'écrive cette ligne 10 fois (A2*B2, A3*B3,...) pour obtenir ce que je veux.



    C'est la première fois il me semble que j'essaye d'expliquer une difficulté rencontrée concernant le codage. Donc désolé encore une fois si je ne suis pas 100% compréhensible!

  8. #8
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Citation Envoyé par Antoine.dah Voir le message
    Il est possible d'obtenir ce que je veux en tapant par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C1").formula="=A1*B1"
    Cependant, il faudrait que j'écrive cette ligne 10 fois (A2*B2, A3*B3,...) pour obtenir ce que je veux.

    C'est la première fois il me semble que j'essaye d'expliquer une difficulté rencontrée concernant le codage. Donc désolé encore une fois si je ne suis pas 100% compréhensible!
    Tu pourrais peut être étendre ta plage jusqu'à C10 au lieu de laisser C1 sans son copain C10, un petite accolade avec ":" entre les 2 et ils devraient être content d'être moins seul
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Pas vraiment en fait!

    Le code que je vous ai mis c'est juste un exemple pour vous montrer ce que je recherche. J'ai besoin de cette "formule" pour un code un peu plus complexe. Moi j'ai besoin d'une formule comme range.formula que je peux insérer dans une boucle!

    Merci à toi

  10. #10
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Quel est la formule au départ ?
    Puis celle qui suit en dessous ?
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  11. #11
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    DOUBLON : https://www.developpez.net/forums/d1...rence-cellule/

    Pourquoi modifier L et C, il suffit d'appliquer la formule à la plage, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Macro4()
      Range("A2:F2").FormulaR1C1 = "=R[-1]C"
    End Sub
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  12. #12
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    En attendant que tes explication soient plus claires, en voilà des précises à lire :
    Ecrire une formule dans Excel à l'aide d'une procédure VBA
    Ecrire une formule dans Excel à l'aide d'une procédure VBA (Part 2)
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

Discussions similaires

  1. Faire référence à une cellule
    Par Antoine.dah dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/01/2019, 22h23
  2. Réponses: 3
    Dernier message: 12/09/2013, 11h27
  3. Réponses: 7
    Dernier message: 14/06/2012, 08h06
  4. Réponses: 17
    Dernier message: 24/11/2006, 18h25
  5. Faire clignoter une cellule d'un MSFlexGrid
    Par sundjata dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/08/2006, 22h50

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