Traduire une recherchev dans vba
Fermé
Mag55
-
19 août 2011 à 14:30
Mag555 Messages postés 3 Date d'inscription jeudi 18 août 2011 Statut Membre Dernière intervention 19 août 2011 - 19 août 2011 à 23:37
Mag555 Messages postés 3 Date d'inscription jeudi 18 août 2011 Statut Membre Dernière intervention 19 août 2011 - 19 août 2011 à 23:37
A voir également:
- Traduire une recherchev dans vba
- Traduire une page - Guide
- Traduire une photo - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
- 2 recherchev dans une formule - Forum Excel
- Find vba - Astuces et Solutions
1 réponse
Mag555
Messages postés
3
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 août 2011
19 août 2011 à 15:40
19 août 2011 à 15:40
Devrais-je en conclure que ce n'est pas faisable?!
19 août 2011 à 15:45
essayer en remplaçant Select.Formula par Select.FormulaLocal
Le FormulaLocal doit vous permettre d'écrire la formule dans votre langue (exemple français) au lieu d'écrire en anglais.
Cordialement.
19 août 2011 à 15:50
Merci d'avance
Plus j'avance, plus j'ai des noeuds..
19 août 2011 à 15:53
19 août 2011 à 15:58
rien que le début ça m'étonnerais... :
RECHERCHEV(activecell.Offset(0,-1);'[ETP 2011-06.xls]TB-EFFMO'!$A:$A;$B14;'[ETP 2011-06.xls]TB-EFFMO'!$Q:$Q)
Syntaxe de RECHERCHEV :
RECHERCHEV(Quoi?;ou?;NbreCol?;VRAI-FAUX)
Donc dans ton cas :
Quoi = activecell.Offset(0,-1) --> OK pour moi
ou = [ETP 2011-06.xls]TB-EFFMO'!$A:$A (classeur ETP 2011-06.xls, Feuille TB-EFFMO, colonne A) ---> OK pour moi
Nbre de col = $B14 --> pourquoi pas si B14 contient un chiffre (1, 2, 3 etc...)
VRAI-FAUX = [ETP 2011-06.xls]TB-EFFMO'!$Q:$Q) ---> La j'ai un doute! Un gros doute...
2- En VBA les ";" des formules excel doivent être remplacés par des ","
3- Il convient d'utiliser l'anglais pour traduire, en VBA, les formules d'excel :
RECHERCHEV = VLOOKUP
SI = IF
FAUX = False
Voir cette excellentissime et magnifique astuce
4 -si tu veux intégrer des variables (activeCell.Offset(0, -1) par exemple) dans une formule excel ça n'est pas de tout repos.... exemple :
ActiveCell.Formula = "=IF(" & ActiveCell.Offset(0, 1) & ">" & ActiveCell.Offset(0, 2) & ",True, False)"
le problème de activecell dans une Formula est qu'il ne va pas t'inscrire l'adresse de la cellule (ex : A1), mais sa valeur... Donc dans l'état avec ma petite formule SI ci-dessus, dans ta cellule tu va voir :
=SI(2>1;"VRAI";"FAUX")
Si tu veux obtenir =SI(A2>A3;"VRAI";"FAUX) tu dois écrire :
ActiveCell.Formula = "=IF(" & ActiveCell.Offset(0, 1).Address & ">" & ActiveCell.Offset(0, 2).Address & ",True, False)"
5- c'est pas simple alors je te recommande de bien noter ce que tu veux obtenir au préalable.
Mais sinon c'est faisable............
19 août 2011 à 23:37
Pour le 3me argument --> 2
Pour le 4eme argument --> "faux"
Du coup, je vais essayer de traduire la formule complètement en anglais. Maintenant que j'ai VLOOKUP, si la structure des arguments est la même en anglais, ca devrait aller.
Mais pijaku, est-ce que je suis obligée d'intégrer une formule si dans ma recherchev? Je ne t'ai pas suivi jusqu'au bout.. lol
Cdt