Problème de macro VBA
Résolu/Fermé
sebdorian1
Messages postés
5
Date d'inscription
mercredi 6 novembre 2013
Statut
Membre
Dernière intervention
6 novembre 2013
-
6 nov. 2013 à 12:35
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 12 nov. 2013 à 09:16
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 12 nov. 2013 à 09:16
A voir également:
- Problème de macro VBA
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Vba attendre 1 seconde ✓ - Forum VB / VBA
11 réponses
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
6 nov. 2013 à 12:44
6 nov. 2013 à 12:44
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
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
6 nov. 2013 à 14:11
6 nov. 2013 à 14:11
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
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
6 nov. 2013 à 14:24
6 nov. 2013 à 14:24
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.)
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
12 nov. 2013 à 09:16
12 nov. 2013 à 09:16
Alors ? Quelles nouvelles ?
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
sebdorian1
Messages postés
5
Date d'inscription
mercredi 6 novembre 2013
Statut
Membre
Dernière intervention
6 novembre 2013
6 nov. 2013 à 13:14
6 nov. 2013 à 13:14
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!
sebdorian1
Messages postés
5
Date d'inscription
mercredi 6 novembre 2013
Statut
Membre
Dernière intervention
6 novembre 2013
6 nov. 2013 à 14:20
6 nov. 2013 à 14:20
Merci! Je colle ça en l'état dans ma fenêtre VBA ?
(j'y connais rien en progra..)
(j'y connais rien en progra..)
sebdorian1
Messages postés
5
Date d'inscription
mercredi 6 novembre 2013
Statut
Membre
Dernière intervention
6 novembre 2013
6 nov. 2013 à 14:31
6 nov. 2013 à 14:31
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
"
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
Modifié par sipherion le 6/11/2013 à 14:46
Modifié par sipherion le 6/11/2013 à 14:46
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
sebdorian1
Messages postés
5
Date d'inscription
mercredi 6 novembre 2013
Statut
Membre
Dernière intervention
6 novembre 2013
6 nov. 2013 à 14:59
6 nov. 2013 à 14:59
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
sipherion
Messages postés
1809
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
285
7 nov. 2013 à 09:33
7 nov. 2013 à 09:33
Ben si la colonne est E, alors tu dois mettre Cells(Test, 5) !
A = 1, B = 2, C = 3, D = 4, E = 5
A = 1, B = 2, C = 3, D = 4, E = 5