Selection.Find et variables indicées
Résolumikel831 Messages postés 188 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 16 novembre 2024 - 15 avril 2024 à 15:46
- Selection.find vba
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Vba dépassement de capacité ✓ - Forum Excel
3 réponses
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))".
15 avril 2024 à 11:44
Bonjour,
Vous n'avez mis aucune valeur dans votre tableau TypeC
15 avril 2024 à 12:24
Si, j'ai au préalable initialisé TypeC(1)="aaaa", TypeC(2)="bbbb", etc...
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.
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.
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