[VBA] - Utilisation des Dim / Public

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 !

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)

Bonjour,

2 Fields dans la méthode Range.Autofilter ?

https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.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.

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 !

Rechercher des sujets similaires à "vba utilisation dim public"