Excel VBA problème replace/find
Fermé
CBB
-
20 janv. 2010 à 12:21
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 22 janv. 2010 à 14:08
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 22 janv. 2010 à 14:08
A voir également:
- Excel VBA problème replace/find
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Excel compter cellule couleur sans vba - Guide
4 réponses
Je me permets de Upper. J'espère être sur le bon fil, j'hésitais entre Programmation et Bureautique.
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
21 janv. 2010 à 17:53
21 janv. 2010 à 17:53
Bonjour,
Oui je propose de mettre une variable de type range comme résultat du Find et de tester si elle est vide ou pas voici ce que cela donne :
Attention bien enlever le .activate à la fin de l'instruction find
A+
Oui je propose de mettre une variable de type range comme résultat du Find et de tester si elle est vide ou pas voici ce que cela donne :
Dim MaCellule As Range Set MaCellule = Cells.Find(What:="Mot C", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) If Not MaCellule Is Nothing Then MaCellule.FormulaR1C1 = "Phrase complète associée au Mot C." With MaCellule.Characters(Start:=1, Length:=6).Font .Name = "Times New Roman" .FontStyle = "Gras" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleSingle .ColorIndex = 10 End With With MaCellule.Characters(Start:=7, Length:=18).Font .Name = "Times New Roman" .FontStyle = "Normal" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 10 End With With MaCellule.Characters(Start:=25, Length:=10).Font .Name = "Times New Roman" .FontStyle = "Gras" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 10 End With End If
Attention bien enlever le .activate à la fin de l'instruction find
A+
Bonjour pilas31,
Merci de ta réponse !
Ta solution fonctionne parfaitement quand le mot clé "Mot C" est tapé dans une cellule, mais la variable ne semble pas le reconnaitre quand il est choisi dans une liste déroulante ; rien ne se passe pour cette cellule.
On ne doit pas être bien loin de la solution..
Merci de ta réponse !
Ta solution fonctionne parfaitement quand le mot clé "Mot C" est tapé dans une cellule, mais la variable ne semble pas le reconnaitre quand il est choisi dans une liste déroulante ; rien ne se passe pour cette cellule.
On ne doit pas être bien loin de la solution..
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
22 janv. 2010 à 14:08
22 janv. 2010 à 14:08
Bonjour CBB,
Non, il n'y a pas de raison que ça ne marche pas. Aprés le choix dans la liste déroulante, la valeur de la cellule est la même que si elle est tapée directement.
Sauf bien sur si dans la liste de choix il y a une différence (pas d'espace par exemple entre Mot et C)...
A+
Non, il n'y a pas de raison que ça ne marche pas. Aprés le choix dans la liste déroulante, la valeur de la cellule est la même que si elle est tapée directement.
Sauf bien sur si dans la liste de choix il y a une différence (pas d'espace par exemple entre Mot et C)...
A+