[VBA] - Utilisation des Dim / Public Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
L
Le Drosophile
Membre dévoué
Membre dévoué
Messages : 535
Appréciations reçues : 2
Inscrit le : 27 juin 2018
Version d'Excel : 2016

Message par Le Drosophile » 16 janvier 2020, 21:02

Bonsoir,

J'ai régulièrement un souci pour déclarer une variable que je pourrai utiliser tout au long de mes macros.

Je me retrouve à déclarer des variables pour récupérer des informations d'autres variables, le tout déclaré en public et malgré ça j'ai souvent des erreurs avec une variable qui n'est pas retrouvée.

Pour illustrer mon souci, je joins un document Excel qui à pour but de générer une nouvelle colonne dans la feuille "Données Collector" et d'y placer une astérisque dans le cas où la recherche réalisée dans l'autre feuille ("Table flore") trouve "PN" ou "PR".

Pour cela, dans la première feuille je demande à choisir un département.
Ce département est théoriquement enregistrée via une variable que j'utilise ensuite lors de l'exécution du code (UserForm 2 sur feuille "Données Collector") pour filtrer des données.

Mais là, Excel m'indique que l'élément portant ce nom est introuvable.

Ce que je recherche ici, c'est comprendre où est-ce que je me trompe dans la déclaration de mes variables pour ne plus avoir ce genre de messages.
Est-ce que cela vient du fait que je décharge les UserForm ?

Je vous remercie de votre attention !

Bonne soirée :)
A plus tard !
Délcaration variables en public (version 1).xlsb.xlsm
(32.85 Kio) Téléchargé 6 fois
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'988
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 16 janvier 2020, 23:57

bonsoir,

dans userform1 tu crées une plage nommée keepregion et dans userform2 tu utilises la plage nommée keepfrance, ne serait-ce pas là ton erreur (j'en ai pas vu d'autres)
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'174
Appréciations reçues : 637
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 17 janvier 2020, 09:50

Bonjour,
2 Fields dans la méthode Range.Autofilter ?
https://docs.microsoft.com/fr-fr/office ... autofilter
tf.Range("A2:L" & lrtf).AutoFilter Field:=10, Criteria1:=[keepfrance], Operator:=xlOr, Field:=10, Criteria2:="France métropolitaine"
    tf.Range("A2:L" & lrtf).AutoFilter Field:=3, Criteria1:="PN", Operator:=xlOr, Field:=3, Criteria2:="PR"
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
L
Le Drosophile
Membre dévoué
Membre dévoué
Messages : 535
Appréciations reçues : 2
Inscrit le : 27 juin 2018
Version d'Excel : 2016

Message par Le Drosophile » 20 janvier 2020, 10:09

Bonjour,

Effectivement, en allant vite pour l'exemple j'ai oublié de vérifier le nom des plages... Au final, j'ai l'impression que cette méthode est la bonne. En changeant le nom de la plage, je n'ai plus eu de souci.

Oui j'ai utilisé field 1 fois de trop, je vais l'enlever.

Bonne journée !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message