[resolu] revenir a la feuille de base par une macro

yvioland

XLDnaute Nouveau
Bonjour a tous,

J'aimerais savoir si quelqu'un a une macro qui pourrait ré-initialiser ma feuille comme elle était a son origine. je m'explique j'ai une macro qui s'occupe pendant les recherches de me colorié en rouge les cellule, (d'ailleur si quelqu'un a une idée pour colorier la ligne au lieu d'une seule cellule ?) et j'aimerais quand ma recherche est terminé de pouvoir cliquer sur un bouton qui me renvoi a ma feuille d'origine sans les cellule colorié.merci d'avance
 
Dernière édition:

nyko283

XLDnaute Occasionnel
Re : revenir a la feuille de base par une macro

Bonjour Yvioland,

Sous excel 2003 en vb6 çà donne ca pour colorier une ligne : Rows("4:4").Interior.ColorIndex = 6

et pour retirer toutes les couleur de fond d'une feuille : Cells.Interior.ColorIndex = xlNone
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : revenir a la feuille de base par une macro

Bonjour yvioland,

si avant l'utilisation de la macro les cellules n'ont pas de couleur, il suffit de faire une autre macro pour remettre toutes ces cellules " à blanc"
(d'ailleur si quelqu'un a une idée pour colorier la ligne au lieu d'une seule cellule ?)
sans voir ton fichier, il est difficile de t'aider

à+
Philippe
 

yvioland

XLDnaute Nouveau
Re : revenir a la feuille de base par une macro

Voila ma macro, si vous pouviez me montrer ce qu'il devrait etre changé. je vous remercie.

Private Sub CommandButton1_Click()
'
' Macro1 Macro
' Macro enregistrée le 26/05/2011 par cmi
'Private Sub mot a recherché_Click()

mot = InputBox("Mot à rechercher ? ENTREZ : N°Qmos/ N°norme matiére / Groupe matiére")
If mot = "" Then Exit Sub

For feuille = 1 To Sheets.Count

Sheets(feuille).Select
Set trouvé1 = Cells.Find(What:=mot)
If Not trouvé1 Is Nothing Then

With trouvé1
.Activate
.Select
.Interior.ColorIndex = 3

End With

étiq:
If MsgBox("Suivant ?", 4) = vbNo Then Exit Sub
Set trouvé2 = Cells.FindNext(After:=ActiveCell)
Set trouvé3 = Cells.FindPrevious(After:=ActiveCell)

Do While trouvé2 <> trouvé1

With trouvé1
.Select
.Font.ColorIndex = 0
End With
With trouvé3
.Select
.Font.ColorIndex = 0
End With
With trouvé2
.Activate
.Select
.Interior.ColorIndex = 3


End With

GoTo étiq

Loop
End If
Next feuille

MsgBox "PLUS DE RESUSLTAT"

End Sub
 

yvioland

XLDnaute Nouveau
Re : revenir a la feuille de base par une macro

Niko283,

Dans ma macro ma selection cellule se fait par "Interior.ColorIndex = 3"
Il me suffit simplement de changer cette ligne par Rows("4:4").Interior.ColorIndex = 6.

Escusé moi, mais je suis débutan dans ce domaine mais j'ai un projet a réaliser, et je me doit d'apprendre a maitriser le logiciel.encore merci
 

yvioland

XLDnaute Nouveau
Re : revenir a la feuille de base par une macro

il m'indique une erreur "Sub ou Fonction non définie"

j'ai écrit sa:
Private Sub CommandButton1_Click()
'
' Macro1 Macro
' Macro enregistrée le 26/05/2011 par cmi
'Private Sub mot a recherché_Click()

mot = InputBox("Mot à rechercher ? ENTREZ : N°Qmos/ N°norme matiére / Groupe matiére")
If mot = "" Then Exit Sub

For feuille = 1 To Sheets.Count

Sheets(feuille).Select
Set trouvé1 = Cells.Find(What:=mot)
If Not trouvé1 Is Nothing Then

Row(trouvé1.Row & ":" & trouvé1.Row).Interior.ColorIndex = 3

étiq:
If MsgBox("Suivant ?", 4) = vbNo Then Exit Sub
Set trouvé2 = Cells.FindNext(After:=ActiveCell)
Set trouvé3 = Cells.FindPrevious(After:=ActiveCell)

Do While trouvé2 <> trouvé1

With trouvé1
.Select
.Font.ColorIndex = 0
End With
With trouvé3
.Select
.Font.ColorIndex = 0
Row(trouvé1.Row & ":" & trouvé1.Row).Interior.ColorIndex = 3

GoTo étiq

Loop
End If
Next feuille

MsgBox "PLUS DE RESUSLTAT"

End Sub
 

yvioland

XLDnaute Nouveau
Re : revenir a la feuille de base par une macro

Merci de prendre le temps. Donc voila ma feuille avec tout mes données classé. j'ai mon bouton qui active mon moteur de recherche, qui est sensé lui me colorier la ligne (il colorie la cellule) en rouge quand il a trouvé le mot clef qui correspond.

seulement quand j'ai plusieur recherche a faire j'aimerais appuyer sur un deuxieme bouton qui me remette ma page comme a son origine sans les cellule colorié.

Si vous souhaité plus d'information je suis a votre disposition.
 

Pièces jointes

  • qmos soft TESTE.xls
    57 KB · Affichages: 171

Robert

XLDnaute Barbatruc
Repose en paix
Re : revenir a la feuille de base par une macro

Bonsour le fil, bonjour le forum,

Le code ci-dessous pour colorié la ligne entière en jaune et un second bouton pour enlever la couleur...
Code:
Private Sub CommandButton1_Click()
mot = InputBox("Mot à rechercher ? ENTREZ : N°Qmos/ N°norme matiére / Groupe matiére")
If mot = "" Then Exit Sub
For feuille = 1 To Sheets.Count
Sheets(feuille).Select
Set trouvé1 = Cells.Find(What:=mot)
If Not trouvé1 Is Nothing Then
With trouvé1
    .Activate
    .Select
    .EntireRow.Interior.ColorIndex = 6 'remplit de jaune la ligne entière de l'occurrence trouvée
End With
étiq:
If MsgBox("Suivant ?", 4) = vbNo Then Exit Sub
    Set trouvé2 = Cells.FindNext(After:=ActiveCell)
    Set trouvé3 = Cells.FindPrevious(After:=ActiveCell)
    
    Do While trouvé2 <> trouvé1
        With trouvé1
            .Select
            .Font.ColorIndex = 0
        End With
        With trouvé3
            .Select
            .Font.ColorIndex = 0
        End With
        With trouvé2
            .Activate
            .Select
            EntireRow.Interior.ColorIndex = 6 'remplit de jaune la ligne entière de l'occurrence trouvée
        End With
    
        GoTo étiq
    Loop
End If
Next feuille
MsgBox "PLUS DE RESUSLTAT"
End Sub
 
 
Private Sub CommandButton2_Click() 'bouton annuler couleur
Dim x As Byte 'déclare la variable x (incrément d'onglet)
For x = 1 To Sheets.Count 'boucle sur touts les onglets du classeur
    With Sheets(x) 'prend en compte l'onglet x
        .Cells.Interior.ColorIndex = xlNone 'enlève la couleur à toutes les cellules de l'onglet
    End With 'fin de la prise en compte l'onglet x
Next x 'prochain onglet du classeur
End Sub
 

yvioland

XLDnaute Nouveau
Re : revenir a la feuille de base par une macro

Il y'a un petit Hic!! lorsque je fait la macro annuler couleur. je perd la couleur sur toute ma feuille, n'y aurait t'il pas plutot une macro qui supprime la couleur que le programme "mot à rechercher" fairait apparaitre ? sans enlever la couleur sur tout mon tableau
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : revenir a la feuille de base par une macro

Bonjour le fil. bonjour le forum,

Oui j'avais remarqué après avoir ouvert ton fichier. Le problème c'est que si on colore de jaune toute la ligne on supprime la partie bleu clair qui, d'après ton exemple, n'est pas uniforme (colonnes F à M jusqu'à la ligne 47, puis I à M après cette ligne). Dans ces condition il est difficile de restituer les couleurs d'origine si elles ne sont pas régulières... Je me demande si colorer la ligne entière est une bonne solution...
 

Discussions similaires