Vérifier la valeur des cellule dans une ligne
Résolu/Fermé
zahr kall
Messages postés
62
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
28 septembre 2009
-
24 oct. 2008 à 16:21
zahr kall Messages postés 62 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 28 septembre 2009 - 26 oct. 2008 à 01:21
zahr kall Messages postés 62 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 28 septembre 2009 - 26 oct. 2008 à 01:21
A voir également:
- Vérifier la valeur des cellule dans une ligne
- Aller à la ligne dans une cellule excel - Guide
- Verifier un lien - Guide
- Partager photos en ligne - Guide
- Excel cellule couleur si condition texte - Guide
- Site de vente en ligne particulier - Guide
10 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
24 oct. 2008 à 16:52
24 oct. 2008 à 16:52
Bonjour,
Ce petit bout de code devrait t'aider :
Bon courage
;o)
Polux
Ce petit bout de code devrait t'aider :
Dim ws As Worksheet Dim col As Integer Dim lig As Integer Set ws = Worksheets(1) lig = 89 For col = 1 To 26 If ws.Cells(lig, col).Value = 0 Then ws.Columns(col).EntireColumn.Hidden = True End If Next col Set ws = Nothing
Bon courage
;o)
Polux
zahr kall
Messages postés
62
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
28 septembre 2009
10
24 oct. 2008 à 17:23
24 oct. 2008 à 17:23
merci beaucoup,
ça marche presque!!
le soucis qu'il me reste, c'est qu'au lieu de mettre "ws.Columns(col).EntireColumn.Hidden = True,
je voudrais quelques chose comme ws.Columns(col).EntireColumn.locked = True.
Sauf que là, forcément, ça ne marche pas!! :(
j'ai tenté plusieurs formules, mais en vain.
Je vais continuer à chercher chez moi, car là, c'est pour mon boulot et j'ai fini ma semaine !!^^
Merci encore pour ce gros coup d'main!
bon week end.
ça marche presque!!
le soucis qu'il me reste, c'est qu'au lieu de mettre "ws.Columns(col).EntireColumn.Hidden = True,
je voudrais quelques chose comme ws.Columns(col).EntireColumn.locked = True.
Sauf que là, forcément, ça ne marche pas!! :(
j'ai tenté plusieurs formules, mais en vain.
Je vais continuer à chercher chez moi, car là, c'est pour mon boulot et j'ai fini ma semaine !!^^
Merci encore pour ce gros coup d'main!
bon week end.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
24 oct. 2008 à 19:49
24 oct. 2008 à 19:49
Bonsoir,
par défaut toutes les cellules d'une feuille sont verrouillées.
Il faut activer la protection pour que ce soit actif (menu 'outil / protection')
N'oublie pas de déverrouiller les cellules devant avoir une saisie...
eric
par défaut toutes les cellules d'une feuille sont verrouillées.
Il faut activer la protection pour que ce soit actif (menu 'outil / protection')
N'oublie pas de déverrouiller les cellules devant avoir une saisie...
eric
zahr kall
Messages postés
62
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
28 septembre 2009
10
24 oct. 2008 à 20:07
24 oct. 2008 à 20:07
Justement,
je vérouille des cellules, puis j'en déverrouille d'autres. C'est assez le bazard, car c'est un tableau de saisie que je met à dispo pour tous mes collaborateurs et j'ai mis pleins de contrôles pour éviter qu'un collaborateur saisisse à la place d'un autre. Bref, voici la ligne de commande lorsque que la vérification du collaborateur est faite (avec son "matricule") :
Private Sub valider_btn_Click()
If matricule.Value = "" Then
MsgBox "vous n'avez pas saisi votre matricule."
ElseIf ActiveCell.Offset(0, 251).Value = Int(matricule.Value) Then
ActiveSheet.Unprotect Password:="XXX"
Range(Trim(Str(ActiveCell.Row)) & ":" & Trim(Str(ActiveCell.Row))).Select
Selection.Locked = False
Selection.FormulaHidden = False
Application.Goto reference:="r1c2"
ActiveCell.Offset(0, 0).Value = Int(matricule.Value)
Range("C2").Value = Range("c2").Value + 1
Dim ws As Worksheet
Dim col As Integer
Dim lig As Integer
Set ws = Worksheets(1)
lig = 89
For col = 1 To 212
If ws.Cells(lig, col).Value = 0 Then
ws.Columns(col).Locked = True
End If
Next col
Set ws = Nothing
Application.Goto reference:="r6c5"
ActiveSheet.Protect Password:=XXX", DrawingObjects:=True, Contents:=True, Scenarios:=True
Unload Verif
MsgBox "saisissez vos souhaits maintenant en notant 'CP' ou 'RTT' sur les jours choisis."
Else
MsgBox "vous n'avez pas bien saisi votre matricule."
End If
End Sub
voilà où j'en suis. Si t'as une idée pour me permettre de revérrouiller les colonnes concernées, ce serait vraiment génial. là, ça ne marche toujours pas et je ne sais plus trop quoi faire...
je vérouille des cellules, puis j'en déverrouille d'autres. C'est assez le bazard, car c'est un tableau de saisie que je met à dispo pour tous mes collaborateurs et j'ai mis pleins de contrôles pour éviter qu'un collaborateur saisisse à la place d'un autre. Bref, voici la ligne de commande lorsque que la vérification du collaborateur est faite (avec son "matricule") :
Private Sub valider_btn_Click()
If matricule.Value = "" Then
MsgBox "vous n'avez pas saisi votre matricule."
ElseIf ActiveCell.Offset(0, 251).Value = Int(matricule.Value) Then
ActiveSheet.Unprotect Password:="XXX"
Range(Trim(Str(ActiveCell.Row)) & ":" & Trim(Str(ActiveCell.Row))).Select
Selection.Locked = False
Selection.FormulaHidden = False
Application.Goto reference:="r1c2"
ActiveCell.Offset(0, 0).Value = Int(matricule.Value)
Range("C2").Value = Range("c2").Value + 1
Dim ws As Worksheet
Dim col As Integer
Dim lig As Integer
Set ws = Worksheets(1)
lig = 89
For col = 1 To 212
If ws.Cells(lig, col).Value = 0 Then
ws.Columns(col).Locked = True
End If
Next col
Set ws = Nothing
Application.Goto reference:="r6c5"
ActiveSheet.Protect Password:=XXX", DrawingObjects:=True, Contents:=True, Scenarios:=True
Unload Verif
MsgBox "saisissez vos souhaits maintenant en notant 'CP' ou 'RTT' sur les jours choisis."
Else
MsgBox "vous n'avez pas bien saisi votre matricule."
End If
End Sub
voilà où j'en suis. Si t'as une idée pour me permettre de revérrouiller les colonnes concernées, ce serait vraiment génial. là, ça ne marche toujours pas et je ne sais plus trop quoi faire...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
24 oct. 2008 à 20:17
24 oct. 2008 à 20:17
Ben si ça marche, pourquoi ça ne marcherait pas ? (pour la partie en gras en tout cas...)
Et si tu précisais ce qui te fais dire que ça ne marche pas ?
Qu'est-ce que tu veux obtenir exactement ?
Remarque là tu verrouilles si 0 ou "", c'est ça qui te gene ?
Et si tu précisais ce qui te fais dire que ça ne marche pas ?
Qu'est-ce que tu veux obtenir exactement ?
Remarque là tu verrouilles si 0 ou "", c'est ça qui te gene ?
zahr kall
Messages postés
62
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
28 septembre 2009
10
24 oct. 2008 à 23:39
24 oct. 2008 à 23:39
Non, ce qui me gêne, c'est que lorsque je clique sur mon bouton valider j'ai ce message qui apparait :
Erreur d'exécution '1004':
Impossible de définir la propriété Locked de la classe Range
Et dans la macro, la ligne ws.Columns(col).Locked = True apparait en surligné, comme si c'est cette ligne qui pose problème.
Et c'est donc mon problème, car pour moi ma ligne de commande est bonne.
Erreur d'exécution '1004':
Impossible de définir la propriété Locked de la classe Range
Et dans la macro, la ligne ws.Columns(col).Locked = True apparait en surligné, comme si c'est cette ligne qui pose problème.
Et c'est donc mon problème, car pour moi ma ligne de commande est bonne.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
25 oct. 2008 à 09:06
25 oct. 2008 à 09:06
Bonjour,
j'ai testé chez moi je n'ai pas cette erreur ici...
Regarde quand même quelle est la valeur de col au moment de cette erreur des fois qu'elle soit modifiée par une macro evenement.
eric
j'ai testé chez moi je n'ai pas cette erreur ici...
Regarde quand même quelle est la valeur de col au moment de cette erreur des fois qu'elle soit modifiée par une macro evenement.
eric
zahr kall
Messages postés
62
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
28 septembre 2009
10
25 oct. 2008 à 11:36
25 oct. 2008 à 11:36
Salut,
je ne sais pas faire ce que tu me demandes : vérifier la valeur de col...
je vais regarder si j'y arrive quand même
je ne sais pas faire ce que tu me demandes : vérifier la valeur de col...
je vais regarder si j'y arrive quand même
zahr kall
Messages postés
62
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
28 septembre 2009
10
25 oct. 2008 à 11:53
25 oct. 2008 à 11:53
Désolé pour le double post, mais j'ai trouvé entre temps :
Dim ws As Worksheet
Dim col As Integer
Dim lig As Integer
Set ws = Worksheets(1)
lig = 89
For col = 1 To 212
If ws.Cells(lig, col).Value = 0 Then
MsgBox ("valeur de col :" & col & "!")
ws.Columns(col).Locked = True
End If
Next col
Et avec ce message, pour le moment, j'ai "1" puis "3". Donc je pense que mon problème apparait à la colonne 3 ou 4.
Il ne me reste plus qu'à voir ce qu'il en est. c'est pas gagné...
Dim ws As Worksheet
Dim col As Integer
Dim lig As Integer
Set ws = Worksheets(1)
lig = 89
For col = 1 To 212
If ws.Cells(lig, col).Value = 0 Then
MsgBox ("valeur de col :" & col & "!")
ws.Columns(col).Locked = True
End If
Next col
Et avec ce message, pour le moment, j'ai "1" puis "3". Donc je pense que mon problème apparait à la colonne 3 ou 4.
Il ne me reste plus qu'à voir ce qu'il en est. c'est pas gagné...
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
25 oct. 2008 à 17:48
25 oct. 2008 à 17:48
-pour voir la valeur d'une variable tu fais 'affichage / fenetre espions', tu sélectionnes ta variable dans le code et tu fais un cliqué-glissé vers la fenetre espion.
-ou bien tu poses le curseur souris sur le nom de la variable dans le code, au bout d'une temporisation sa valeur (si elle a été évaluée) apparait
-tu peux poser un point d'arret dans le programme pour qu'il s'arrete à cette ligne : cliquer dans la marge grise à gauche du code, ta ligne passe en marron et un point marron apparait dans la marge.
- à partir du point d'arret tu peut faire en pas à pas avec F8 et suivre l'évolution de tes variables.
-F5 relance le programme en abandonnant le pas à pas (jusqu'au prochain point d'arret
eric
-ou bien tu poses le curseur souris sur le nom de la variable dans le code, au bout d'une temporisation sa valeur (si elle a été évaluée) apparait
-tu peux poser un point d'arret dans le programme pour qu'il s'arrete à cette ligne : cliquer dans la marge grise à gauche du code, ta ligne passe en marron et un point marron apparait dans la marge.
- à partir du point d'arret tu peut faire en pas à pas avec F8 et suivre l'évolution de tes variables.
-F5 relance le programme en abandonnant le pas à pas (jusqu'au prochain point d'arret
eric
zahr kall
Messages postés
62
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
28 septembre 2009
10
26 oct. 2008 à 01:21
26 oct. 2008 à 01:21
ça y est!!! le problème venait de la fusion de plusieurs cellules, hors tableau (ligne 96, alors que le tableau était jusqu'à la ligne 89). du coup, je n'avais pas fait attention...
Bref, maintenant tout fonctionne.
Encore merci pour l'aide et le temps passé pour m'aider.
c'est vraiment sympa.
Bonne soirée et bon week end.
Bref, maintenant tout fonctionne.
Encore merci pour l'aide et le temps passé pour m'aider.
c'est vraiment sympa.
Bonne soirée et bon week end.