Erreur d'exécution : l'indice n'appartient pas à la sélection

Bonjour,

Lors du lancement de mon programme, une erreur s'affiche (celle dans le titre). Quand je fais le débogage il m'affiche l'erreur à cette ligne ci dessous :

Set re = wb.Sheets("Nom").Range("f:f").Find(What:="BARRE DE RETENTION", LookAt:=xlWhole)

J'ai vu sur le forum que lorsque cette erreur s'affiche c'est parce que le nom de la feuille est mal renseigné. Pourtant, il est bien correct. Comment y remédier ?

Voici mon code en entier :

Rep = "\\NE_PAS_TOUCHER\BDD_BOM\FirstRowCentral\"
            fn = Dir(Rep & "3S*.xlsx")
            Do While fn <> ""           
                Workbooks.Open Rep & fn 
                fn = Dir
            Loop
            twb.Activate 'Active le fichier Excel actuel
            With Sheets("FirstRowCentral")
                If Me.CheckBox10.Value = True Then
                    For Each wb In Application.Workbooks   
                        If InStr(wb.Name, "3S") > 0 Then   
                            Set re = wb.Sheets("Nom").Range("f:f").Find(What:="JOINT TORIQUE", LookAt:=xlWhole)
                            If Not re Is Nothing Then
                                Dim L As Long
                                L = Range("f65336").End(xlUp).Row + 1 
                                .Cells(L, "D") = re.Value             
                                Exit For
                            End If
                        End If
                    Next wb
                End If
                For Each wb In Application.Workbooks 
                        If InStr(wb.Name, "3S") > 0 Then
                            wb.Close
                        End If
                Next wb
            End With

bonjour,

La feuille dans chacun des classeurs 3S s'appelle donc Nom, c'est bien cela ?

si c'est le cas :

1) on ne peut pas t'aider sur base d'un extrait de code alors que c'est un problème avec les données/classeur.

2) merci de mettre les fichiers exemples représentatifs de tes données avec lesquels on peut reproduire le problème.

Bonjour, ci-dessous tu retrouveras les fichiers exemples, ce sont les mêmes fichiers. J'ai simplement enlevé certains contenus dans les cellules F. L'erreur est vraiment sur le nom de la feuille. Je te remercie !

Petite précision : les fichiers originaux sont en lecture seule je ne sais pas si c'est possible que ce soit une raison du problème.

103s1.xlsx (228.10 Ko)
113s2.xlsx (228.46 Ko)
93s3.xlsx (228.51 Ko)
173s4.xlsx (228.07 Ko)

re-bonjour,

peux-tu aussi mettre le fichier qui contient la macro ? as-tu également l'erreur avec ces fichiers que tu as mis ?

J'ai exactement la même erreur avec les fichiers que j'ai mis, je ne comprends vraiment pas. Je te mets ci-joint un fichier Excel qui contient la macro. Je te remercie

9classeur2.xlsm (22.27 Ko)

bonjour,

pas de souci chez moi, peux-tu tester avec cette version, elle devrait indiquer le(s) fichier(s) dans lesquels on ne trouve pas la feuille nom.

11classeur2-7.xlsm (25.14 Ko)

J'ai toujours la même erreur je ne comprends pas. J'ai téléchargé ton fichier, j'ai placé mes fichiers dans le bon dossier et il m'indique la même erreur

re-bonjour,

un nouveau code pour essayer de mieux localiser l'erreur. N'oublie pas d'adapter le nom du répertoire.

12classeur2-7.xlsm (21.50 Ko)

bonjour,

ceci n'a rien à voir avec le problème, mais si le fichier est "*3s*" au lieu de "*3S*" c'est mieux d'utiliser (majuscules/miniscules)

If InStr(1, wb.Name, "3S", 1) > 0 Then

Comme ces fichiers n'ont qu'une seule feuille, changez "nom" par 1

Set re = wb.workSheets(1).Range("f:f").Find(What:="JOINT TORIQUE", LookAt:=xlWhole)

Le nouveau code que tu m'as donné m'indique que le problème est issu de mon interface principal où se situe ma macro, je vais essayer de voir où peut être le problème...

comment se nomme ton classeur principal ? il faudra adapter la macro s'il contient les caractères 3S

Super il ne m'indique plus d'erreur. En effet je devais changer le nom de mon fichier principal car il contenait "3S". Bon maintenant le problème c'est qu'il ne trouve pas le "JOINT TORIQUE" dans ma base de données alors qu'il y est... Bizarre

dans ma base de données "JOINT TORIQUE" j'ai centré le texte. Est ce que cela change quelque chose ou pas ? ou alors je dois supprimer les espaces inutiles de ma colonne f de ma base de données ?

Rechercher des sujets similaires à "erreur execution indice appartient pas selection"