Selection.Find

Fermé
Daniel - 28 sept. 2010 à 12:45
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 - 28 sept. 2010 à 15:04
Bonjour,

dans une macro, j'utilise Selection.find(...) précédé de On Error GoTo Line 999, au deuxième passage, je plante à la fin de la recherche

7 réponses

cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
Modifié par cousinhub29 le 28/09/2010 à 13:23
Bonsoir,

Je pense que tes explications "succinctes" ne pourront en rien nous éclairer....

Pour ma part, la partie de code que tu fournis ne déclenche pas de "Bug"

Avec si peu d'éléments, ce sera difficile de t'aider...

@ te relire avec plus de précisions (notamment, le code entier....)
0
On Error GoTo Line998
Selection.Find(What:=R_txt, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate





R_txt = du texte à rechercher
0
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
28 sept. 2010 à 14:16
Re-,

Je sais que le forum offre la possibilité d'ajouter des commentaires, mais lorsque l'on parle directement du sujet, je préfère utiliser le bouton "Répondre...."

C'est bien, tu as donné 4 lignes de ton code.....(dont 3 lignes d'une même commande)

Pour ma part, cela ne m'avance toujours pas.....

Désolé....

PS, c'est si dur, un copier coller de toute ta procédure?
0
i = 1
Ope = "1"
Car = " "
Police = "Arial"
Fin = 5
F1 = 0
R_txt = " "
' ------------------------------------------------

Line1:
Set R_txt = Nothing

Cells.Select
Police = "Arial"
Select Case Ope

Case "1"
R_txt = "Administration"
Car = "!"
Police = "Wingdings 2"

Case "2"
R_txt = "Intervention"
Car = "G"
Police = "Wingdings 3"

Case "3"
R_txt = "Ecriture"
Car = "&"
Police = "Wingdings"


Case "4"
R_txt = "Mobilité Contrôle itinérant"
Car = "R"
Police = "Wingdings 3"

Case "5"
R_txt = "Mobilité Contrôle statique"
Car = "Q"
Police = "Wingdings 3"

End Select

Ope = Ope + 1

'---------------------------------------
Line2:

F1 = 1

On Error GoTo Line998
Selection.Find(What:=R_txt, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate


ActiveCell.FormulaR1C1 = Car
F1 = 0
With ActiveCell.Characters(Start:=1, Length:=1).Font
.Name = Police
.FontStyle = "Bold"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 5
End With

Line998:

If F1 = 0 Then
GoTo Line2
End If


If i < Fin Then
GoTo Line1
End If


End Sub
0
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
28 sept. 2010 à 14:35
Re-,

On parle bien d'Excel?

Perso, je n'ai jamais vu de tels codes....

Police = "Arial"


Mais le pb ne vient pas de là....

Tu as bien le End Sub, mais je ne vois pas le Sub .....()

Donc, il n'y a pas tout le code...

Et ensuite, tu donnes à ta variable (je ne sais pas comment tu l'as déclarée) :

Ope = "1" 


Et plus loin dans le code, tu lui rajoutes une unité

Ope = Ope + 1 


Lorsque je te demande tout le code, ce n'est pas pour juger ton code, c'est pour essayer de t'aider....

Mais bon....
0

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

Posez votre question
Merci, c'est bien sympa..

J'ai oublié de copier le nom
Sub Plano()....
.. End Sub

Je n'ai pas fait de déclaration de variable, j'ai directement attaquer telquel...

le premier passage (case 1) fonction bien, le deuxième passage (case 2) bloque à la fin de la recherche, je crois que c'est l'erreur 91.

Merci
A+
0
PS ile faut lire.... j'ai directement attaqué...
0
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
28 sept. 2010 à 15:04
OK,

Tu veux faire quoi, exactement?

Parce que là, en déroulant le code, tu remplaces "Administration" par un espace " "...

Mais je ne vois pas de boucle, ni de raison de dérouler le code une seconde fois....

Surtout que tu donnes des valeurs à tes variables, en tout début de code, donc dans aucun cas, ton Select Case ne peut servir, sachant que ta variable "Ope" aura toujours la même valeur....

?????
0