|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 20 ![]() |
Bonjour le forum,
Ma fonction VLOOKUP ci dessous ne fonctionne pas : Code :
Belle journée, Magali |
||
|
|
00
|
|
|
#2 |
|
Office & Excel ![]() ![]() ![]() |
Salut.
Comme tu passes la fonction au sein d'une formule Excel, elle doit respecter la syntaxe Excel (en anglais) et pas la syntaxe VBA... Donc, pas de Range et autre. Une bonne manière de créer la formule pour le VBA est de la créer dans une cellule Excel puis de récupérer la formule dans la fenêtre d'exécution du VBE (Ctrl+G) via ? activecell.formula. Il faut souvent recréer la formule par concaténation. Mon tuto sur RechercheV contient un petit chapitre sur l'utilisation de RECHERCHEV en VBA.
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire) --------------- Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP Vous souhaitez rédiger pour DVP? Contactez-moi Amoureux de la langue française? Venez corriger nos ressources VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA... N'oubliez pas de VOTER (en bas à droite d'un message) --------------- |
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 20 ![]() |
Merci, je vais aller voir.
De la même manière, j'ai un problème avec la formule de division ci-dessous : Code :
Comment y remédier? |
||
|
|
00
|
|
|
#4 |
|
Office & Excel ![]() ![]() ![]() |
C'est plus ou moins le même problème, en effet
Tu essaies de concaténer un objet Range avec des chaines de caractères dans l'expression de la formule, alors que celle-ci (ce qui se trouve entre parenthèses) doit être l'expression excel en anglais de la formule que tu saisirais sur ta feuille de calcul (donc avec l'adresse de la cellule). Tu dois donc utiliser la propriété .Address et être attentif aux références relatives et absolues dans la création de la chaîne de caractères qui exprimera ta formule. Vu le contexte, tu pourrais écrire Code :
activecell10.Formula = "= "& activell10.Offset(0,8).address &" / Q5" Attention que la propriété .Address renvoie l'adresse absolue (avec les $) et correspond donc à Code :
activecell10.Formula = "= "& activell10.Offset(0,8).Address(True,True) &" / Q5" Code :
activecell10.Formula = "= "& activell10.Offset(0,8).Address(False, False) &" / Q5"
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire) --------------- Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP Vous souhaitez rédiger pour DVP? Contactez-moi Amoureux de la langue française? Venez corriger nos ressources VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA... N'oubliez pas de VOTER (en bas à droite d'un message) --------------- |
|
00
|
Copyright © 2000-2012 - www.developpez.com