Selection.Find et variables indicées

Résolu
mikel831 Messages postés 188 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 16 novembre 2024 - 15 avril 2024 à 11:41
mikel831 Messages postés 188 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 16 novembre 2024 - 15 avril 2024 à 15:46

Bonjour à tous!
Dans le bout de code test suivant :
Dim Spec as Range
Dim TypeC(7) as String
For j = 1 To 6
        MsgBox TypeC(j)
        Stop
        Spec = Selection.Find(TypeC(j))
        MsgBox Spec
        Stop
 Next j

la ligne Selection.Find bugue ...
Je me demande si elle accepte une variable indicée comme TypeC(j) ???
Si oui, je ne vois pas mon erreur ???


Windows / Chrome 123.0.0.0

3 réponses

yg_be Messages postés 23333 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 Ambassadeur 1 551
15 avril 2024 à 11:53

bonjour,

N'hésite pas, quand tu as une erreur, à partager le texte du message d'erreur.  Ce texte est précieux, pour toi comme pour nous.

Connais-tu l'instruction "set"?  Tu l'as pourtant déjà utilisée plusieurs fois.  N'hésite pas à analyser le code que tu utilises, afin d'en comprendre chaque subtilité.

Quand tu écris "Spec = Selection.Find(TypeC(j))", c'est équivalent à écrire "Spec.value = Selection.Find(TypeC(j))".

Si tu veux que la variable Spec pointe vers un autre objet, tu dois écrire "Set Spec = Selection.Find(TypeC(j))".

1
mikel831 Messages postés 188 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 16 novembre 2024 16
15 avril 2024 à 15:46

yg_be, merci pour tes précisions concernant les différences d'écritures:
"Spec = ...." et "Set Spec=...". J'ai bien compris et j'ai donc modifié mon code sachant que Selection.Find renvoie un Range : ça fonctionne nickel !
Merci à tous les autres pour vos réponses.
Cordialement, Mikel
 

0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
15 avril 2024 à 11:44

Bonjour,

Vous n'avez mis aucune valeur dans votre tableau TypeC

0
mikel831 Messages postés 188 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 16 novembre 2024 16
15 avril 2024 à 12:24

Si, j'ai au préalable initialisé TypeC(1)="aaaa", TypeC(2)="bbbb", etc...

0
yg_be Messages postés 23333 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551 > mikel831 Messages postés 188 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 16 novembre 2024
15 avril 2024 à 12:29

@mikel831 StatutMembre N'hésite pas à montrer un code qui correspond au souci rencontré, plutôt qu'un autre code.  Tu crées souvent de la confusion en partageant un autre code.

0
yg_be Messages postés 23333 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 Ambassadeur 1 551
15 avril 2024 à 11:56

Tu te demandes si le souci n'est pas causé par l'utilisation d'une variable indicée.

Dans ce cas, tu aurais pu tester ceci: Spec = Selection.Find("").  Cela t'aurait permis de vérifier ton hypothèse.

0