Renvoi d'une valeur dans une macro

legrand.slb

XLDnaute Nouveau
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
 

Pierrot93

XLDnaute Barbatruc
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
@+
 

legrand.slb

XLDnaute Nouveau
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 édition:

Pierrot93

XLDnaute Barbatruc
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 & "*"

@+
 

Pierrot93

XLDnaute Barbatruc
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) & "*"

@+
 

legrand.slb

XLDnaute Nouveau
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
 

Pierrot93

XLDnaute Barbatruc
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
@+
 

legrand.slb

XLDnaute Nouveau
Re : Renvoi d'une valeur dans une macro

J'ai bien vu ton post
Je te joins un fichier pour exemple
Merci de ton aide
Bertrand
 

Pièces jointes

  • Exemple.xls
    33 KB · Affichages: 90
  • Exemple.xls
    33 KB · Affichages: 88
  • Exemple.xls
    33 KB · Affichages: 101
Dernière édition:

Pierrot93

XLDnaute Barbatruc
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

  • Exemple.zip
    13 KB · Affichages: 76
  • Exemple.zip
    13 KB · Affichages: 80
  • Exemple.zip
    13 KB · Affichages: 76
Dernière édition:

legrand.slb

XLDnaute Nouveau
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
 

Discussions similaires

Réponses
4
Affichages
196
Réponses
40
Affichages
1 K

Statistiques des forums

Discussions
312 465
Messages
2 088 650
Membres
103 904
dernier inscrit
thvalette