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 :

Variable = formule contenu dans une cellule [XL-2003]


Sujet :

Macros et VBA Excel

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Variable = formule contenu dans une cellule
    Bonjour

    Je me demandais comment récupérer la formule qui est dans une cellule et lui rajouter un élément complémentaire.

    En gros :

    Dans C2 : =40+50

    Dans la macro, j'ai une boucle qui regarde si A2 et B2 sont identique au champ d'un userform si c'est le cas alors il faut ajuster C2 comme suit

    C2 : =40+50+20

    le 20 sort d'un champ du userform.
    Donc comment faire ?
    J'étais parti sur l'idée de faire une sorte de copier coller de la formule inscrite dans la cellule dans une variable lui enlevé le = avec mid() et puis ajouter "+" & variable.
    Mais sans succès parce que je n'ai pas réussi à faire prendre la valeur "=40+50" à une variable

    Donc je suis à l'écoute de toute proposition solution parce que là je suis à court d'idée. (Peut-être qu'il est finalement possible de prendre le "=40+50" auquel cas ça devrait faire mon bonheur )

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    et bienvenu sur le forum

    Une instruction à adapter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("C2").FormulaR1C1 = "=" & Range("C2") & " + 20"
    Bonne continuation

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Salut

    À moins que je n'ai pas compris la subtilité ça ne marche pas.

    Je n'ai pas du être assez claire.

    Pour reprendre mon exemple.

    Au début
    C2 : =40+50

    la macro tourne et je souhaite obtenir
    C2 : =40+50+20

    en faisant ce que tu proposes ça ne prend que la valeur de C2 et donc je me retrouve avec
    C2 : =90+20

    C'est d'ailleurs ce que j'avais fait avant de me rendre compte que c'était stupide puisque ça prend la valeur et pas la formule inside.

    J'avais ça avant de voir que ça ne marchait pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sheets("semences").Cells(i, 1) = choixculturebox
    Sheets("semences").Cells(i, 2) = choixvarietebox
     
    cellule = Sheets("semences").Cells(i, 3)
    If InStr(cellule, "=") = 1 Then
     cellule = Mid(cellule, 1)
     Sheets("semences").Cells(i, 3).Formula = "=" & cellule & "+" & qteach & "+" & qtefab & ""
    Else
     Sheets("semences").Cells(i, 3).Formula = "=" & qteach & "+" & qtefab & ""
     
    End If
    le instr et le mid servait à détecter si une formule était déjà dans la cellule et si c'était le cas supprimer le "=" pour reprendre les chiffres inscrits

    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("semences").Cells(i, 3).Formula = Sheets("semences").Cells(i, 3).Formula & "+" & qteach & "+" & qtefab
    ++
    Minick

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    C'était tout bête ^^

    Merci ça marche parfaitement

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

Discussions similaires

  1. [DATA] Evaluation d'une formule contenue dans une variable (Cas soumis par mp )
    Par JeromeMATHIAS dans le forum SAS Base
    Réponses: 5
    Dernier message: 05/11/2013, 14h11
  2. [XL-2007] Macro et URL variable contenue dans une cellule
    Par Nonno 94 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/09/2013, 17h36
  3. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  4. [XL-2003] Problème pour renommer un fichier à partir d'une variable contenu dans une cellule
    Par the-geut dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/05/2010, 11h43
  5. Donner à une feuille la valeur contenue dans une cellule ?
    Par emilie_pons_2005 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/09/2006, 12h32

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