Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème type variant

  • Initiateur de la discussion Initiateur de la discussion benoa
  • Date de début Date de début

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 !

B

benoa

Guest
Bonjour,

Après exécution d'une subroutine, j'obtiens : erreur 424 : "objet requis".
Dans mon code, j'ai un tableau de chaîne de caractère :

Dim t(10) As String
après initialisation, t=[ch1,ch2,ch3,...,ch10]


Ensuite je voudrais stocké dans une variable chaque élément du tableau puis effectuer un traitement de cette variable. Pour cela j'utilise une boucle FOR EACH :

Dim var As String
Dim i As Variant​

For Each i In t
var = i.Value()
"traitement"
Next i


Cependant, après exécution puis débogage, on m'indique une erreur 424 : "objet requis" sur la ligne var = i.Value(). Comment palier à ce problème?

Merci à tous pour vos suggestions
 
Re : Problème type variant

Bonjour,

Je ne comprend pas grand chose à ce que tu veux faire.
Peux-tu décrire plus précisemment la fonction que dois remplir ta macro et poster un fichier exemple exempt de données confidentielles ?

mikachu
 
Re : Problème type variant

remplacer
VB:
var = i.value()
par
VB:
var = i

Ensuite,
VB:
Dim t(3) As String
te définis t(0), t(1), t(2) et t(3) soit 4 valeurs.

Si tu n'as que 3 vleurs à affcher alors il conviendra d'utiliser
VB:
Dim t(3) As String
 

Pièces jointes

Re : Problème type variant

Tes deux solutions fonctionnent.

Maintenant j'ai un autre problème, j'ai une erreur '91' dans mon "traitement" :
Je recherche maintenant dans mes deux feuilles la cellule contenant "var" et j'indique les lignes correspondantes.

Dim Cell3 As Range, Cell4 As Range, lig1 As Long, lig2 As Long

Set Cell3 = Sheets("feuil1").Cells.Find(What:=var, After:=Cells(1, 1), MatchCase:=False)
lig1 = Cell3.Row

Set Cell4 = Sheets("feuil2").Cells.Find(What:=var, After:=Cells(1, 1), MatchCase:=False)
lig2 = Cell4.Row​

Lors du debogage, l'affectation de Cell3, lig1 et Cell4 ne posent pas de problème, seul l'affectation de lig2 pose un problème : erreur '91', pourtant c'est exactement la même chose qu'au dessus.
 
Re : Problème type variant

Bonjour,

A tout hasard, "cell4" est bien initialisée par une cellule et n'est pas égale à "Nothing".... A vérifier dans la fenêtre des variables locales...

bon après midi
@+
 
Re : Problème type variant

Mais c'est bizarre parce que lorsque je recherche de chaque mot contenu dans la variable var à l'aide de Ctrl F, ils apparaissent bien dans la feuil2.

Cordialement
 
Re : Problème type variant

Bonjour,

regarde peut être dans l'aide vba les arguments de la méthode "find", et plus précisement cette note :

bonne journée
@+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
911
Réponses
3
Affichages
922
D
Réponses
4
Affichages
433
DidPouAxi
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…