|
|
|
|
Posté par
Tortue3, le vendredi 21 septembre 2007 à 15:36:55Configuration: Windows 2000 Internet Explorer 6.0
Bonjour Tortue3,
Une macro de ce style devrait pouvoir te convenir : Sub Trouve() With Worksheets("Feuil1").Range("a1:a40") Set c = .Find(Range("b1").Value, LookIn:=xlValues) If Not c Is Nothing Then Range("c1") = "Trouvé" Else Range("c1") = "Non trouvé" End If End With End Sub Dans cet exemple, la plage de valeurs est en "a1:a40" et la valeur cherchée est en "b1". Le résultat de la recherche s'affiche en "c1". Il te sera facile d'adapter ce code à ton cas particulier. Espérant avoir répondu, Cordialement. |
Bonjour,
Merci pour cette réponse. Mais j'ai un message d'erreur "Erreur d'exécution '1004' : la méthode 'Range' de l'objet '_Worksheet' a échoué. Voici mon code : rech correspond à ma recherche sur la 13ème cellule à droite de la cellule active et AM1:AP1 sont les cellules qui contiennent ma liste de mots recherchés. Si je trouve un des mots et que la 22ème cellule à droite de la cellule active cotient '12' je mets ces deux cellules (13ème et 22ème) en Vert Pale et j'affiche une infobulle. With Feuil1.Range("AM1:AP1") Set rech = .Find(Range(ActiveCell.Offset(0, 13)).Value, LookIn:=xlValues) If Not rech Is Nothing And (ActiveCell.Offset(0, 22) Like "12") Then ActiveCell.Offset(0, 22).Select Application.Run "ThisWorkbook.VertPale" 'Dévalide les messages d'erreur Selection.Validation.Delete 'Affiche le message d'erreur Erreur = "Nature juridique incompatible avec le nom" With Selection.Validation .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputMessage = Erreur .ShowInput = True .ShowError = True End With ActiveCell.Offset(0, -9).Select Application.Run "ThisWorkbook.VertPale" 'Dévalide les messages d'erreur Selection.Validation.Delete 'Affiche le message d'erreur Erreur = "Cf. nature juridique = " & ActiveCell.Offset(0, 9).Value With Selection.Validation .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputMessage = Erreur .ShowInput = True .ShowError = True End With 'Taille de la colonne à 35 Selection.ColumnWidth = 35 ActiveCell.Offset(0, -13).Select Application.Run "ThisWorkbook.Violet" End If End With |
|
Autant pour moi... J'ai remplacé Set rech = .Find(Range(ActiveCell.Offset(0, 13)).Value, LookIn:=xlValues) par
Set rech = .Find(ActiveCell.Offset(0, 13).Value, LookIn:=xlValues) et ça marche... Merci infiniment |
Ca marche, mais à condition que ma cellule cible de recherche contienne exactement un des mots de la plage prédéfinie. Si ma cellule cible contient "MAIRIE DE NICE" et que ma plage de mots recherchés ne contient que "MAIRIE", "CONSEIL", "SOCIETE", la macro ne trouve rien.
Est-ce qu'il y a moyen de faire que la recherche se fasse sur une partie seulement de la chaîne de caractères. Par exemple si ma cellule cible contient "MAIRIE DE NICE" ou "CONSEIL GENERAL DES ALPES MARITIMES" et je veux que "rech" ne porte que sur "MAIRIE" et "CONSEIL" (comme LIKE "*MAIRIE*" et LIKE "*CONSEIL*). Merci de votre aide |
Bonjour Tortue3,
Oui, c'est possible. Dans l'exemple suivant, les critères de recherche sont dans les cellules "B1" et "C1", et la plage de recherche est "A1:A40". Si les chaines recherchées sont trouvées, le texte est passé en rouge. Il ne te reste plus qu'à adapter ce code à ton cas personnel. Sub Trouve1() For Each cel In Sheets(1).Range("a1:a40") If InStr(cel.Value, Range("b1").Value) Or InStr(cel.Value, Range("c1").Value) Then cel.Font.ColorIndex = 3 Else cel.Font.ColorIndex = xlAutomatic End If Next End Sub Cordialement. |
Merci beaucoup. C'est exactement ce qu'il me fallait !!
Pour info voilà le résultat : For Each Cellule In Range("AM8:AM10") ==> pour chaque Cellule de la plage qui contient mes mots à rechercher If InStr(ActiveCell.Offset(0, 13).Value, Cellule) _ ==> recherche dans la 13ème cellule à droite la valeur de Cellule And (ActiveCell.Offset(0, 22) Like "12") Then ActiveCell.Offset(0, 22).Select Application.Run "ThisWorkbook.VertPale" 'Dévalide les messages d'erreur Selection.Validation.Delete 'Affiche le message d'erreur Erreur = "Nature juridique incompatible avec le nom" With Selection.Validation .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputMessage = Erreur .ShowInput = True .ShowError = True End With ActiveCell.Offset(0, -9).Select Application.Run "ThisWorkbook.VertPale" 'Dévalide les messages d'erreur Selection.Validation.Delete 'Affiche le message d'erreur Erreur = "Cf. nature juridique = " & ActiveCell.Offset(0, 9).Value With Selection.Validation .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputMessage = Erreur .ShowInput = True .ShowError = True End With 'Taille de la colonne à 35 Selection.ColumnWidth = 35 ActiveCell.Offset(0, -13).Select Application.Run "ThisWorkbook.Violet" End If Next |
| 15/09 10h59 | [Excel] Colorer des cellules sur conditions | Excel |
| 06/02 00h35 | bureautique | Excel |
| 12/11 01h11 | [excel] | Excel |
| 22/08 16h19 | [Excel] Ajouter une date fixe dans une cellule en 2 touches | Excel |
| 13/11 01h31 | [Dico] Dictionnaires - Définitions - Extensions | Internet utile |
| 26/04 21h57 | Macro excel rechercher texte et suppression | 3 |
| 23/08 20h30 | [Macro Excel]Recherche selon condition | 1 |
| 25/02 16h47 | Vba macro excel recherche et userform | 14 |
| 22/02 13h30 | Macro excel rechercher et sélectionner | 3 |
![]() | Excel Viewer - Avec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS ), même... | Catégorie: Tableur Licence: Freeware/gratuit |
![]() | Super Macro - Super Macro est un logiciel gratuit qui permet de créer des macros sous Windows afin de déclencher diverses actions... | Catégorie: Bureautique Licence: Freeware/gratuit |
![]() | OpenOffice.org - OpenOffice est une suite bureautique complète entièrement gratuite, compatible avec la suite Microsoft Office. Elle... | Catégorie: Suite bureautique Licence: Open Source |
![]() | Restoration - Restoration est un outil gratuit, en anglais seulement, permettant de récupérer les données effacées, même après avoir vidé... | Catégorie: Sauvegarde Licence: Freeware/gratuit |
![]() | Les Razmoket : A | Catégorie: Jeu vidéo PC | 14.95 € PriceMinister |
![]() | Mission Equitation : A | Catégorie: Jeu vidéo PC | 9.50 € PriceMinister |
![]() | Sony Micro Vault Excellence | Catégorie: Carte Mémoire / Clé USB | 41.50 € MicroChoix |
![]() | Sony Micro Vault Excellence | Catégorie: Carte Mémoire / Clé USB | 16.74 € Misco FR |