IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

code d'erreur 91 après d'autre actions


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2018
    Messages : 13
    Points : 6
    Points
    6
    Par défaut code d'erreur 91 après d'autre actions
    Bonjour,
    j'ai un code me permettant de colorier toute les parties de texte recherchée dans un classeur.
    Cela marche nickel autant de fois que désiré lorsque je fait appel a la sub créé . Mais si dans mon programme, je fait n'inporte quel autre action, si je fait appel à nouveau à ce sub j'ai un message d'erreur 91 :-( sur la ligne

    foundText.Characters(Start:=InStr(1, foundText.Value, searchText, vbTextCompare), Length:=Len(searchText)).Font.Color = RGB(255, 0, 0)

    PS comment mettre en ligne des lignes de programme ?

  2. #2
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 429
    Points : 2 186
    Points
    2 186
    Par défaut
    Bonsoir,
    C'est certain que code 91 c'est beaucoup plus parlant que variables de Bloc non défini !

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 164
    Points : 1 711
    Points
    1 711
    Par défaut
    Salut,

    Je suppose qu'avant cette instruction, tu fais appel à la méthode Find de l'objet Range.
    Cette dernière, en cas d'échec, ne renvoie aucune instance (Nothing).
    As-tu testé cette possibilité ?

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2018
    Messages : 13
    Points : 6
    Points
    6
    Par défaut suite erreur 91
    Bonjour et merci d'essayer de m'aider. J'ai après de longues heures trouvé une autre solution mais pour répondre à ta question je n'ai pas de FIND:
    Dim ws As Worksheet
    Dim cell As Range
    ' Dim searchText As String
    Dim foundText As Range
    Dim trouv As String
    'searchText = "Juliet"
    ' Définir la feuille de calcul
    Set ws = ThisWorkbook.Sheets("Tri")
    Worksheets("Tri").Activate
    ' Texte à rechercher
    For Each cell In ws.Range("B1:H" & ws.Cells(ws.Rows.Count, 2).End(xlUp).Row)
    ' Vérifier si le texte recherché est présent dans la cellule
    If InStr(1, cell.Value, searchText, vbTextCompare) > 0 Then
    ' Trouvé ! Colorier le texte "Marc" en rouge
    Set foundText = cell.Find(searchText)
    foundText.Characters(Start:=InStr(1, foundText.Value, searchText, vbTextCompare), Length:=Len(searchText)).Font.Color = RGB(255, 0, 0)
    End If
    Next cell

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 164
    Points : 1 711
    Points
    1 711
    Par défaut
    Citation Envoyé par marcvierset Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foundText.Characters(Start:=InStr(1, foundText.Value, searchText, vbTextCompare), Length:=Len(searchText)).Font.Color = RGB(255, 0, 0)
    Divise cette instruction en plusieurs instructions simple.
    Et vérifie l'état des variables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Start As Integer
    Start = InStr(1, foundText.Value, searchText, vbTextCompare)    '// Valeur à vérifier
     
    Dim Length As Integer
    Length = Len(searchText)    '// Valeur à vérifier
     
    foundText.Characters(Start, Length).Font.Color = RGB(255, 0, 0)

Discussions similaires

  1. [AC-2016] Retrouver code ligne erreur après call
    Par Superpat9999 dans le forum Macros Access
    Réponses: 2
    Dernier message: 15/01/2021, 16h53
  2. Réponses: 2
    Dernier message: 06/09/2016, 11h57
  3. [XL-2010] Faire une action sur chaque feuille les unes après les autres
    Par lecastorlapon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/09/2015, 13h52
  4. [XL-2010] Code VBA automatiser le même genre d'action qu'un VLOOKUP combiner + autres actions
    Par vince_uninc dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/06/2013, 21h28
  5. [Oracle][ADO_QRY] Récupérer le code d'erreur
    Par Cryonie dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/06/2004, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo