|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 85 ![]() |
bonjours à tous, voila je cherche à écrire une macro qui me permettrai
de faire ceci : chercher dans une colonne ( genre G:G ) les cellules qui contienne le mot "produit" ( qui est une variable de la macro) mais qui contienne aussi POMPE ( c'est juste un mot) , et une fois la cellule trouvé, récupéré la valeur de la colonne Q, de la meme ligne donc. comme le ferai une sumif, à la différence qu'il n'y a qu'une seule ligne qui contient mes critères donc la somme est inutile mais cette ligne n'est jamais au meme endroit. j'ai donc pensé à sa en 1er : Code :
Sheets("Top20 répartition h MO").Cells(18, variable3).Formula = "=SUMIF(" & Worksheets(variable1).Name & "!D:D,"" *POMPE* ""," & Worksheets(variable1).Name & "!G:G)" ensuite j'ai pensé à ceci, car le texte que je cherche, se présente soit : ( 4 espaces) produit POMPE soit: (2 espaces) produit POMPE ( produit est une variable) donc j'ai voulu ecrire ceci Code :
rendement = "=SOMMEPROD( Quantités * (Désignation=" produit POMPE")) + SOMMEPROD( Quantités * (Désignations=" produit POMPE"))" merci de m'aider.. |
|
|
00
|
|
|
#2 | |||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 907 ![]() |
Bonjour,
Ci dessous une autre approche en utilisant la méthode Find Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||
|
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 85 ![]() |
tout d'abord merci de votre aide, j'ai modifié le code pour mon utilisation, j'ai précisé la page, et entré les bonnes range. mais je voulais savoir comment placer ce sous programme dans ma macro ? Sans Sub ni end sub? Séparé ?
( j'ai bien définis les variables utilisées) merci Code :
|
||
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 907 ![]() |
Soit tu ajoutes ce code dans une procédure existante (celle qui contient la déclaration de la variable "variable1".
Soit l'isoler dans une Sub si cette variable est GLOBAL ou encore l'adapter pour en faire une fonction qui retourne les informations concernant les mots a rechercher passé en paramètres
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 85 ![]() |
d'accord je vais essayer sa, merci beaucoup, et sur une recherchev comme celle ci que j'execute en vba uniquement, quelle est la syntaxe, car je m'y perds en faisant reference à une feuille spécifique:
Code :
|
||
|
|
00
|
|
|
#6 | |||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 907 ![]() |
Dans un rechercheV la valeur cherchée est avant la matrice
Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 85 ![]() |
malgres sa j'ai toujours une erreur par application ou l'objet???
je vois pas du tout l'erreur Code :
utilisation = Application.WorksheetFunction.VLookup("*util*", Worksheets(variable1).Range(D2, G65536), 4, False) |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 907 ![]() |
Le RechercheV retourne une erreur si la valeur cherchée n'est pas trouvée.
Ne serais tu pas dans ce cas?
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#9 | ||
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 85 ![]() |
bin je pense que non car , pour voir si en passant par excel cela marche, j'ai fait ceci:
Code :
|
||
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 85 ![]() |
c'est bon j'ai trouvé l'erreur, voila le code correct :
Code :
utilisation = Application.WorksheetFunction.VLookup("*UTIL*", Worksheets(variable1).Range("D2: G65536"), 4, False) merci encore de votre aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com