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 :

copie de formule d'une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Par défaut copie de formule d'une cellule
    bonjour tout le monde,

    mon ptit soucis (en dehors de débuter dans le VBA ;o)) est que je n'arrive pas à imposer une formule de type : =SI(A5="88";"HEMATO";SI(A5="89"; "CHIMIE")), ma formule n'est pas forcément exacte mais c'est sur le principe que cela coince. Je veux l'imposer sur une colonne par exemple A, ligne 2 à 10.
    voila à ce que je pensais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i =2 to 10
    cells(1,i).formula = "=SI(A5="88";"HEMATO";SI(A5="89"; "CHIMIE"))"
    next i
    le soucis est qu'à 88 il beug car il reconnait le deuxième " comme étant la fin de la formule.

    Comment puis je faire?

    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Avec Formula, les mots clés des formules doivent être en anglais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 2 To 10
        Cells(1,i).Formula = "=IF(A5="88";"HEMATO";IF(A5="89"; "CHIMIE"; ""))"
    Next i
    Si tu veux des formules en français, utilise FormulaLocal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 2 To 10
        Cells(1,i).FormulaLocal = "=SI(A5="88";"HEMATO";SI(A5="89"; "CHIMIE"; ""))"
    Next i
    De plus, j'ai ajouté une valeur de chaîne vide ("") pour valeur si faux de ton deuxième SI.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut zazaraignée, sebolix et le forum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 2 To 10
        Cells(1,i).FormulaLocal = "=SI(A5="88";"HEMATO";SI(A5="89"; "CHIMIE"; ""))"
    Next i
    Même si la méthode est juste, je ne pense pas que le résultat soit probant : on pourrait avoir par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 2 To 10
        Cells(1, i).FormulaLocal = "=SI(" & Chr(63 + i) & "5=88;""HEMATO"";SI(" & Chr(63 + i) & "5=89; ""CHIMIE""; """"))"
    Next
    Mais sans infos supplémentaires, c'est dur d'imaginer si la colonne A est en format texte ou non, si le fait que A5 soit en relatif est normal ou non.
    A+

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Mouais... J'avais pas remarqué les apostrophes, ou plutôt, je les ai carrément oubliées!

    Mais il y a une astuce. Il faut simplement doubler les apostrophes qui posent problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 2 To 10
        Cells(1,i).Formula = "=IF(A5=""88"";""HEMATO"";IF(A5=""89""; ""CHIMIE""; """"))"
    Next i
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 2 To 10
        Cells(1,i).FormulaLocal = "=SI(A5=""88"";""HEMATO"";SI(A5=""89""; ""CHIMIE""; """"))"
    Next i

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Par défaut
    merci bcp, une nouvelle fois ça marche, je savais que je pouvais compter sur vous!!

    Merciiii

  6. #6
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Bon alors faudrait pas oublier de cliquer sur .

Discussions similaires

  1. Insérer une formule dans une cellule Excel via VBA
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/02/2020, 14h02
  2. [VBA-E] Afficher et fixer la formule d'une cellule donnée
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/06/2014, 08h27
  3. [Formule]Macro pour masquer des formules dans une cellule
    Par Hellx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2007, 09h21
  4. [VBA] Macro qui envoie une formule dans une cellule
    Par Okoss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2007, 23h32
  5. [VBA-E] - lire la formule d'une cellule
    Par jimbololo dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/06/2006, 14h59

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