Traduire une recherchev dans vba
Mag55
-
Mag555 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Mag555 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais pouvoir lancer la formule suivante dans vba:
Selection.Formula = RECHERCHEV(activecell.Offset(0,-1);'[ETP 2011-06.xls]TB-EFFMO'!$A:$A;$B14;'[ETP 2011-06.xls]TB-EFFMO'!$Q:$Q);SI(C$12=""R ""&$P$1&"" "";SOMME($G14:$H14;$J14:$M14);RECHERCHEV($B14;'[Ctrl Gestion -SG- analyse par postes -0611.xls]RUB2'!$A:$S;2;"faux")
Est-ce techniquement faisable?? Car j'ai à la fois besoin de notions propres à VBA (comme activecell par exemple) et des notions propres à excel (comme la recherchev)
Merci d'avance
Et d'avance encore, un très bon week end
J'aimerais pouvoir lancer la formule suivante dans vba:
Selection.Formula = RECHERCHEV(activecell.Offset(0,-1);'[ETP 2011-06.xls]TB-EFFMO'!$A:$A;$B14;'[ETP 2011-06.xls]TB-EFFMO'!$Q:$Q);SI(C$12=""R ""&$P$1&"" "";SOMME($G14:$H14;$J14:$M14);RECHERCHEV($B14;'[Ctrl Gestion -SG- analyse par postes -0611.xls]RUB2'!$A:$S;2;"faux")
Est-ce techniquement faisable?? Car j'ai à la fois besoin de notions propres à VBA (comme activecell par exemple) et des notions propres à excel (comme la recherchev)
Merci d'avance
Et d'avance encore, un très bon week end
A voir également:
- Traduire une recherchev dans vba
- Comment traduire une page - Guide
- Traduire image - Guide
- Comment traduire une conversation whatsapp - Accueil - Messagerie instantanée
- Traduire un vocal whatsapp - Accueil - Messagerie instantanée
- Excel compter cellule couleur sans vba - Guide
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.
Merci d'avance
Plus j'avance, plus j'ai des noeuds..
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............
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