Erreure d'execution 9, l'indice n'appartient pas a la selection

zanzib91 Messages postés 5 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 15 juin 2009 - 15 juin 2009 à 15:09
garion28 Messages postés 1543 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 - 16 juin 2009 à 08:55
Bonjour,

Ca fait deux bonnes journée que je n'arrive pas a résoudre cette erreure :
Ma macro recherche et efface la cellule (ainsi que celle de droite) en fonction du texte rentré.
Pourtant, une erreure apparait a chaque fois que je lance la recherche.

Je ne sait vraiment pas quoi faire, mon niveau est assez faible. 

Merci pour vos réponse

la fameuse macro :

Option Explicit


Sub Macro_Recherche()
Dim Str_Plage As String
Dim Cel As Range
Dim Feuil As Worksheet
Dim Str_critère As String
Dim X As Byte
 
Str_Plage = "B2:D32"
Str_critère = InputBox("Commande à désaffecter ?")
Set Feuil = Sheets("liste")
For Each Cel In Feuil.Range(Str_Plage)
If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then
 
Feuil.Activate
Cel.Activate
Cel.ClearContents
Cel.Offset(0, 1).ClearContents
MsgBox ("Commande expédiée")


Select Case X
Case 6
    Feuil.Activate
    Cel.Activate
    Exit Sub
Case 2 'annuler on sort
    Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel




End Sub

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 juin 2009 à 18:02
Salut
Sur quelle ligne as-tu cette erreur ?

A part que le Select qui suit le MsgBox ne sert à rien, je ne vois pas de problème particulier ...

Juste que j'aurais dimensionné "Cel" comme une Cellule ou un Objet, et pas comme un Range.
+ fais un test à la sortie de l'InputBox sinon, si l'utilisateur clique sur Cancel, il va te supprimer la prmière cellule venue !

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 juin 2009 à 18:03
Catégorie de la question modifiée VB.NET --> VBA

Déjà rappelé le 29 mai, fais-y un peu attention, stp
0
zanzib91 Messages postés 5 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 15 juin 2009
15 juin 2009 à 19:19
salut jack,
je vais appliquer tes correctifs des demain et faire le ménage dans le code!
la ligne en question est :If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then
sorry pour le loupage de coche de la rubriqu ;)
merci pour la rapidité dans la réponse
0
garion28 Messages postés 1543 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011
16 juin 2009 à 08:54
bonjour,
cette ligne est sensé comparer l'adresse de chaque cellule en majuscule avec une suite de string a ce que je cro comprendre non ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
garion28 Messages postés 1543 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011
16 juin 2009 à 08:55
pardon, je voulai dire comparer la veleur de chaque cellule

une question: pourquoi n'as tu pas utiliser de = pour comparer tes valeurs ?
0
Rejoignez-nous