Selection.Find

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

  1. 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
    1. PS ile faut lire.... j'ai directement attaqué...
      0
      1. 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
        1. 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
          1. 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
            1. 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
              1. 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
                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

                  R_txt = du texte à rechercher
                  0