Renvoi d'une valeur dans une macro

  • Initiateur de la discussion Initiateur de la discussion legrand.slb
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

legrand.slb

Guest
Peut-on renvoyer dans une macro excel la valeur d'une (ou plusieurs) cellule(s) afin de l' (ou les) utiliser comme critère de recherche dans la base de données ?
Merci
 
Re : Renvoi d'une valeur dans une macro

BONJOUR Legrand

regarde les lignes de code ci dessous :

Code:
Dim x As String
Dim t()
'valeur d'une cellule
x = Range("A1").Value
'valeur d'une plage de cellules
t = Range("F1:G20").Value

affecte les valeurs contenues dans les cellules à des variables.

bonne journée
@+
 
Re : Renvoi d'une valeur dans une macro

Merci Pierrot

Mais j'ai encore un petit souci

Un exemple simple valant mieux qu’une longue explication.

Valeurs Critères tt - rr - ta
pp
pp - ta
ta - rr
vg
tt
pp - rr
ss
re
cv - ta
ta


Le but est de renvoyer, dans la macro, les 3 valeurs de la zone Critères pour les utiliser en sélection « contient » dans la base données.
La réponse devrait être : A3 - A4 - A6 - A7 - A10 - A11

La macro suivante :

Sub Test0()
' Test0 Macro
Sheets("Feuil1").Select
Dim t()
t = Range("D1:F1").Value
Selection.AutoFilter Field:=1, Criteria1:=t, Operator:=xlOr
End Sub

ne sélectionne que la valeur = "ta" située en F1

Merci
Bertrand
 
Dernière modification par un modérateur:
Re : Renvoi d'une valeur dans une macro

Re

tu ne peux pas mettre un tableau de variable dans un filtre auto et l'envoyer en l'état, essaye comme ceci :

Code:
Dim x As String
x = Range("A1").Value
Selection.AutoFilter Field:=1, Criteria1:="=*" & x & "*"

@+
 
Re : Renvoi d'une valeur dans une macro

Re

le tableau peux être utilisé pour 2 critères, maximum que l'on peut mettre dans un filtre auto :

Code:
Dim t()
t = Range("D1:E1").Value
Selection.AutoFilter Field:=1, Criteria1:="=*" & t(1, 1) & "*", Operator:=xlOr, _
    Field:=1, Criteria1:="=*" & t(1, 2) & "*"

@+
 
Re : Renvoi d'une valeur dans une macro

Désolé, mais je débute sur les macros
J'ai essayé ton code . La macro recherche le mot "Valeur" situé en A1 et donc ne trouve rien.
J'ai défini un nom "critères" dans ma feuille faisant référence aux cellules D1:F1 ou sont mes 3 critères. Ca peut aider ?
Merci
Bertrand
 
Re : Renvoi d'une valeur dans une macro

Re,

as tu vu mon post de 12h27 ? Pour utiliser 8 critères, il faudrait procéder différemment. Pour t'en dire plus faudrait avoir un fichier, sans données confidentielles, avec modèle des données de départ et résultat attendu.

bonne soirée
@+
 
Re : Renvoi d'une valeur dans une macro

Bonjour Bertrand

Plus grand chose à voir par rapport à la question d'origine, d'ou l'interet de mettre un fichier en pièce jointe...

Une solution par macro événementielle, se déclenche par double click sur le nom du sportif.

bon dimanche
@+

Edition : Cancel = True, remonté d'une ligne.
 

Pièces jointes

Dernière édition:
Re : Renvoi d'une valeur dans une macro

Je suis très impressionné. C'est exactement ce que je voulais faire
La question d'origine était en rapport avec une solution (lourde !) que j'avais trouvée et sur laquelle je bloquais
En repartant du besoin initial, la question ne se pose plus
Merci beaucoup
Bertrand
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
310
W
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
312
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
644
Réponses
4
Affichages
280
Retour