VBA : stoker (et alimenter) un array ?

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 !

Charly88

XLDnaute Occasionnel
Bonjour, comment faire pour stoker une array ?

J'ai cette ligne de code :
ActiveSheet.Range("$E$5:$T$579").AutoFilter Field:=8, Criteria1:=Array("truc", "machin", "bazar"), Operator:=xlFilterValues


Je souhaite faire une variable du contenu de la parenthèse et donc stocker dans une variable la ligne ci-dessous :
"truc", "machin", "bazar"

Le nombre d'éléments dans l'array peut être variable... Et je me pose également la question de la déclaration : i = "truc", "machin", "bazar" plante logiquement

Merci d'avance.
 
Re : VBA : stoker (et alimenter) un array ?

Bonjour Charly88, Pierrot93,

En utiliser une syntaxe de ce style, SANS GARANTIE :

1- Déclarer la variable :

Dim Valeur as string

2- La définir :

Valeur = Cstr("truc" & "," & "machin" & "," & "bazar")

3- Criteria1:=Array(Valeur)
 
Re : VBA : stoker (et alimenter) un array ?

Re,
bonjour Bernard
fonctionne en l'état :
Code:
Dim valeur As String
valeur = CStr("truc") & "," & CStr("machin") & "," & CStr("bazar")
Range("J1").AutoFilter field:=2, Criteria1:=Array(valeur)
mais envoie vers le filtre un seul critère ainsi libellé :
Code:
truc,machin,bazar

A voir si c'est ce que recherche Charly....
 
Re : VBA : stoker (et alimenter) un array ?

bonjour les copains

chez moi ceci fonctionne :

Code:
Dim t
t = Array("CHIEN", "MAURICE", "POULE")
ActiveSheet.Range("$A$1:$B$15").AutoFilter Field:=2, Criteria1:=t, Operator:=xlFilterValues

a plus
 
Re : VBA : stoker (et alimenter) un array ?

Je pense qu'on le tient mais je précise le besoin, je récupère ma liste "chien", "chat", "poule" d'une cellule dont le contenu est actuellement :
=chien,chat,poule

Voyez-vous un moyen pour déclarer l'array t= en mettant les guillemets où nécessaire ?
Soit : au début, avant et après chaque virgule et enfin à la fin.
... peut-être qu'avec un replace... je tente.
 
Re : VBA : stoker (et alimenter) un array ?

Pardon, donc je reprends :
- 2007
- Sur une feuille, j'ai mes critères contenus dans des cellules
- Sur une autre feuille, je fais mon classement en fonction des critères récupérés.

Jusque là je n'avais classé qu'avec "chien" ou "chat" ou "poule" que je trouve dans la cellule K7 avec pour contenu :
=chien

Là je veux tenter de classer avec les 3 élémements, avec K7 qui contient :
=chien,chat,poule

Problème : comment passer de 'chien,chat,poule' à "chien","chat","poule" ?
 
Re : VBA : stoker (et alimenter) un array ?

Code:
Dim t As Variant
t = Split(Range("K7").Value, ",")

Toujours pas, le filtre ne se fait que sur le dernier élément.


Juste avant que tu ne postes, j'étais arrivé à mon résultat théorique avec :
Replace(Range("K7").Value, ";", Chr(34) & "," & Chr(34))

Seulement avec t = array(Replace(Range("K7").Value, ";", Chr(34) & "," & Chr(34)))
t n'est pas correctement compris ensuite :-/
 
- 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

Discussions similaires

Réponses
1
Affichages
477
Réponses
7
Affichages
4 K
Compte Supprimé 979
C
C
  • Question Question
Réponses
3
Affichages
979
A
Réponses
19
Affichages
2 K
A
Réponses
2
Affichages
1 K
AntoineLTO
A
S
Réponses
8
Affichages
1 K
Retour