Problème de macro VBA
Résolu
sebdorian1
Messages postés
7
Statut
Membre
-
sipherion Messages postés 2462 Statut Membre -
sipherion Messages postés 2462 Statut Membre -
Bonjour,
J'ai besoin de votre aide pour une macro VBA, je souhaiterai mettre une condition dans un document TODO List.
J'ai actuellement mis une mise en forme conditionnelle dans un document : lorsque j'ai mis la valeur Done dans ma cellule, la case passe Vert Clair, lorsque j'ai mis Validé, elle passe vert kaki, la tâche est considérée comme effectuée donc je n'ai plus à m'en soucier, elle ne m'intéresse plus mais je souhaite quand même la conserver.
Ma macro aurait donc cette fonction : lorsque ma case Done devient Validé j'aimerai qu'automatiquement la ligne concernée soit mise en invisible (Hide dans ma version anglais d'excel).
Est-ce que vous avez des idées de comment je pourrais faire ?
J'ai essayé :
If Rows("20:20").Select.Value = "Validé" Then
Selection.EntireRow.Hidden = True
End If
End Sub
Mais évidemment ça ne fonctionnne pas :)
Merci beaucoup d'avance!
dorian
J'ai besoin de votre aide pour une macro VBA, je souhaiterai mettre une condition dans un document TODO List.
J'ai actuellement mis une mise en forme conditionnelle dans un document : lorsque j'ai mis la valeur Done dans ma cellule, la case passe Vert Clair, lorsque j'ai mis Validé, elle passe vert kaki, la tâche est considérée comme effectuée donc je n'ai plus à m'en soucier, elle ne m'intéresse plus mais je souhaite quand même la conserver.
Ma macro aurait donc cette fonction : lorsque ma case Done devient Validé j'aimerai qu'automatiquement la ligne concernée soit mise en invisible (Hide dans ma version anglais d'excel).
Est-ce que vous avez des idées de comment je pourrais faire ?
J'ai essayé :
If Rows("20:20").Select.Value = "Validé" Then
Selection.EntireRow.Hidden = True
End If
End Sub
Mais évidemment ça ne fonctionnne pas :)
Merci beaucoup d'avance!
dorian
A voir également:
- Problème de macro VBA
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Excel compter cellule couleur sans vba - Guide
- Dépassement de capacité vba ✓ - Forum Excel
11 réponses
Salut,
Tu dois faire le test sur la cellule qui reçoit le résultat.
Par exemple, tu as la colonne A qui contient l'état de ta TODO (en cours, validé, etc.)
Tu fais un test sur cette cellule :
Tu dois faire le test sur la cellule qui reçoit le résultat.
Par exemple, tu as la colonne A qui contient l'état de ta TODO (en cours, validé, etc.)
Tu fais un test sur cette cellule :
If Range("A3").Value = "validé" Then
Rows("3:3").Select
Selection.EntireRow.Hidden = True
End If
For test = 1 To 65536
If Sheets(1).Cells(test, 1).Value = "" Then Exit For
If Sheets(1).Cells(test, 1).Value = "validé" Then
Rows(test).Select
Selection.EntireRow.Hidden = True
End If
Next
Il faut effectivement l'adapter à ton document :
Remplacer
Remplacer
65536si des données peuvent être enregistrées au delà de la 65536ème ligne (> Office 2007 uniquement, mais ça m'étonnerais que ce soit le cas)
Sheets(1)est le numéro de l'onglet dans lequel tu as les données (dans un nouveau document, la page 1 est "feuill1", la page 2 "feuill2", etc.). Tu peux mettre un nom d'onglet de cette manière :
Sheets("NomDeMonOnglet")
Cells(test, 1): remplacer le 1 par le numéro de colonne dans lequel doit se trouver la mention "validé" (A = 1, B = 2, C = 3, etc.)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionActiveSheet.Rows(1).Select
Selection.EntireRow.Hidden = True
devrait faire l'affaire avec la numéro de ligen à cacher
Merci à vous!
A priori ces macros ne fonctionnent que ligne par ligne, non ?
Est-ce qu'il serait possible (même sans passer VBA, c'est pas un pbm) d'appliquer cette condition directement à toute la colonne?
merci!
A priori ces macros ne fonctionnent que ligne par ligne, non ?
Est-ce qu'il serait possible (même sans passer VBA, c'est pas un pbm) d'appliquer cette condition directement à toute la colonne?
merci!
Du coup, ça me donne :
"
For Test = 1 To 65536
If Sheet1.Cells(Test, 4).Value = "" Then Exit For
If Sheet1.Cells(Test, 4).Value = "validé" Then
Rows(Test).Select
Selection.EntireRow.Hidden = True
End If
"
"
For Test = 1 To 65536
If Sheet1.Cells(Test, 4).Value = "" Then Exit For
If Sheet1.Cells(Test, 4).Value = "validé" Then
Rows(Test).Select
Selection.EntireRow.Hidden = True
End If
"
For Test = 1 To 65536
If Sheets(1).Cells(Test, 4).Value = "" Then Exit For
If Sheets(1).Cells(Test, 4).Value = "validé" Then
Rows(Test).Select
Selection.EntireRow.Hidden = True
End If
Next
Attention, la macro s'arrête dès que la cellule de la colonne D est vide ! Donc il faut qu'il y ait toujours quelque chose, genre "Ouvert", "en cours", "cloturé", "validé", etc.
N'oublie pas le Next à la fin de l'instruction (avant ton "End Sub" et les Sheets entre ()
Et il y a un "s" à Sheets ^^
Si votre problème est résolu, merci de clôturer le sujet en cliquant sur "Problème résolu".
Administrateur réseaux sous Windows Serveur 2003
Bon...^^
J'ai tappé çam le debuggeur me dit rien de spécial, mais rien ne se passe :
Sub CLEAN()
For Test = 1 To 65530
If Sheets(1).Cells(Test, 4).Value = "" Then Exit For
If Sheets(1).Cells(Test, 4).Value = "Validé" Then
Rows(Test).Select
Selection.EntireRow.Hidden = True
End If
Next
End Sub
Ma sheet excel s'appelle Sheet1 et la colonne est la colonne E, any idea?
merci encore :D
J'ai tappé çam le debuggeur me dit rien de spécial, mais rien ne se passe :
Sub CLEAN()
For Test = 1 To 65530
If Sheets(1).Cells(Test, 4).Value = "" Then Exit For
If Sheets(1).Cells(Test, 4).Value = "Validé" Then
Rows(Test).Select
Selection.EntireRow.Hidden = True
End If
Next
End Sub
Ma sheet excel s'appelle Sheet1 et la colonne est la colonne E, any idea?
merci encore :D