En VBA, je voudrais tester les cellules de la feuille pour savoir si elles
contiennent une formule (SOMME en l'occurrence), ceci afin de
récupérer les "bornes" de la somme afin de procéder a un traitement
de formatage.
Hors un test du type "Left(cells(ligne,27), 6) = "=SOMME" ne fonctionne pas.
Je voudrais pouvoir récupérer la formule sous forme de texte, pour en
extraire les informations souhaitées.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Gaboly
Bonjour,
C'est l'anglais la langue par défaut de VBA. D'autre part, il ne faut p as tester Cells qui te renvoie un objet Range dont la propriété par défaut est Value.
Cells(ligne, 27) équivaut donc (à de rares exceptions près, qu sort ent de ce cadre) à Cells(ligne, 27).Value
Par conséquent, tu testes la valeur et pas la formule.
Il faut donc utiliser
Cells(ligne, 27).Formula et tester avec "SUM" et non "SOMME"
Tu peux tester les noms en français avec .FormulaLocal, mais si un jour tu dois travailler sur un poste avec Excel dans une autre langue que le français, ton test cessera de fonctionner. Mê me risque si tu communiques le document à quelqu'un d'autre sans savoir quelle est la version d'Excel qu'il utilise.
Bonjour à tous
En VBA, je voudrais tester les cellules de la feuille pour savoir si el les contiennent une formule (SOMME en l'occurrence), ceci afin de récupérer les "bornes" de la somme afin de procéder a un traiteme nt de formatage.
Hors un test du type "Left(cells(ligne,27), 6) = "=SOMME" ne foncti onne pas.
Je voudrais pouvoir récupérer la formule sous forme de texte, pour en extraire les informations souhaitées.
Quelqu'un a t'il une idée ?
Merci d'avance
Christian
-- Cordialement,
Michel Gaboly www.gaboly.com
Bonjour,
C'est l'anglais la langue par défaut de VBA. D'autre part, il ne faut p as tester Cells qui te renvoie un objet Range
dont la propriété par défaut est Value.
Cells(ligne, 27) équivaut donc (à de rares exceptions près, qu sort ent de ce cadre) à Cells(ligne, 27).Value
Par conséquent, tu testes la valeur et pas la formule.
Il faut donc utiliser
Cells(ligne, 27).Formula et tester avec "SUM" et non "SOMME"
Tu peux tester les noms en français avec .FormulaLocal, mais si un jour tu dois travailler sur un poste avec Excel dans
une autre langue que le français, ton test cessera de fonctionner. Mê me risque si tu communiques le document à quelqu'un
d'autre sans savoir quelle est la version d'Excel qu'il utilise.
Bonjour à tous
En VBA, je voudrais tester les cellules de la feuille pour savoir si el les
contiennent une formule (SOMME en l'occurrence), ceci afin de
récupérer les "bornes" de la somme afin de procéder a un traiteme nt
de formatage.
Hors un test du type "Left(cells(ligne,27), 6) = "=SOMME" ne foncti onne
pas.
Je voudrais pouvoir récupérer la formule sous forme de texte, pour en
extraire les informations souhaitées.
C'est l'anglais la langue par défaut de VBA. D'autre part, il ne faut p as tester Cells qui te renvoie un objet Range dont la propriété par défaut est Value.
Cells(ligne, 27) équivaut donc (à de rares exceptions près, qu sort ent de ce cadre) à Cells(ligne, 27).Value
Par conséquent, tu testes la valeur et pas la formule.
Il faut donc utiliser
Cells(ligne, 27).Formula et tester avec "SUM" et non "SOMME"
Tu peux tester les noms en français avec .FormulaLocal, mais si un jour tu dois travailler sur un poste avec Excel dans une autre langue que le français, ton test cessera de fonctionner. Mê me risque si tu communiques le document à quelqu'un d'autre sans savoir quelle est la version d'Excel qu'il utilise.
Bonjour à tous
En VBA, je voudrais tester les cellules de la feuille pour savoir si el les contiennent une formule (SOMME en l'occurrence), ceci afin de récupérer les "bornes" de la somme afin de procéder a un traiteme nt de formatage.
Hors un test du type "Left(cells(ligne,27), 6) = "=SOMME" ne foncti onne pas.
Je voudrais pouvoir récupérer la formule sous forme de texte, pour en extraire les informations souhaitées.
Quelqu'un a t'il une idée ?
Merci d'avance
Christian
-- Cordialement,
Michel Gaboly www.gaboly.com
Christian.L
Merci Michel
Je vais cherchez et me débrouiller dans ce sens.
Christian
"Michel Gaboly" a écrit dans le message de news:
Bonjour,
C'est l'anglais la langue par défaut de VBA. D'autre part, il ne faut pas tester Cells qui te renvoie un objet Range dont la propriété par défaut est Value.
Cells(ligne, 27) équivaut donc (à de rares exceptions près, qu sortent de ce cadre) à Cells(ligne, 27).Value
Par conséquent, tu testes la valeur et pas la formule.
Il faut donc utiliser
Cells(ligne, 27).Formula et tester avec "SUM" et non "SOMME"
Tu peux tester les noms en français avec .FormulaLocal, mais si un jour tu dois travailler sur un poste avec Excel dans une autre langue que le français, ton test cessera de fonctionner. Même risque si tu communiques le document à quelqu'un d'autre sans savoir quelle est la version d'Excel qu'il utilise.
Bonjour à tous
En VBA, je voudrais tester les cellules de la feuille pour savoir si elles contiennent une formule (SOMME en l'occurrence), ceci afin de récupérer les "bornes" de la somme afin de procéder a un traitement de formatage.
Hors un test du type "Left(cells(ligne,27), 6) = "=SOMME" ne fonctionne pas.
Je voudrais pouvoir récupérer la formule sous forme de texte, pour en extraire les informations souhaitées.
Quelqu'un a t'il une idée ?
Merci d'avance
Christian
-- Cordialement,
Michel Gaboly www.gaboly.com
Merci Michel
Je vais cherchez et me débrouiller dans ce sens.
Christian
"Michel Gaboly" <michel.gaboly@wanadoo.fr> a écrit dans le message de news:
uVcBXALBGHA.3872@TK2MSFTNGP12.phx.gbl...
Bonjour,
C'est l'anglais la langue par défaut de VBA. D'autre part, il ne faut pas
tester Cells qui te renvoie un objet Range
dont la propriété par défaut est Value.
Cells(ligne, 27) équivaut donc (à de rares exceptions près, qu sortent de ce
cadre) à Cells(ligne, 27).Value
Par conséquent, tu testes la valeur et pas la formule.
Il faut donc utiliser
Cells(ligne, 27).Formula et tester avec "SUM" et non "SOMME"
Tu peux tester les noms en français avec .FormulaLocal, mais si un jour tu
dois travailler sur un poste avec Excel dans
une autre langue que le français, ton test cessera de fonctionner. Même
risque si tu communiques le document à quelqu'un
d'autre sans savoir quelle est la version d'Excel qu'il utilise.
Bonjour à tous
En VBA, je voudrais tester les cellules de la feuille pour savoir si elles
contiennent une formule (SOMME en l'occurrence), ceci afin de
récupérer les "bornes" de la somme afin de procéder a un traitement
de formatage.
Hors un test du type "Left(cells(ligne,27), 6) = "=SOMME" ne fonctionne
pas.
Je voudrais pouvoir récupérer la formule sous forme de texte, pour en
extraire les informations souhaitées.
C'est l'anglais la langue par défaut de VBA. D'autre part, il ne faut pas tester Cells qui te renvoie un objet Range dont la propriété par défaut est Value.
Cells(ligne, 27) équivaut donc (à de rares exceptions près, qu sortent de ce cadre) à Cells(ligne, 27).Value
Par conséquent, tu testes la valeur et pas la formule.
Il faut donc utiliser
Cells(ligne, 27).Formula et tester avec "SUM" et non "SOMME"
Tu peux tester les noms en français avec .FormulaLocal, mais si un jour tu dois travailler sur un poste avec Excel dans une autre langue que le français, ton test cessera de fonctionner. Même risque si tu communiques le document à quelqu'un d'autre sans savoir quelle est la version d'Excel qu'il utilise.
Bonjour à tous
En VBA, je voudrais tester les cellules de la feuille pour savoir si elles contiennent une formule (SOMME en l'occurrence), ceci afin de récupérer les "bornes" de la somme afin de procéder a un traitement de formatage.
Hors un test du type "Left(cells(ligne,27), 6) = "=SOMME" ne fonctionne pas.
Je voudrais pouvoir récupérer la formule sous forme de texte, pour en extraire les informations souhaitées.