Je suis à la recherche d'une solution pour transformer les codes suivant en
"boucle":
1°)
If ActiveSheet.Range("L50") = "" Then Rows("50:51").EntireRow.Hidden = True
If ActiveSheet.Range("L52") = "" Then Rows("52:53").EntireRow.Hidden = True
If ActiveSheet.Range("L54") = "" Then Rows("54:55").EntireRow.Hidden = True
If ActiveSheet.Range("L56") = "" Then Rows("56:57").EntireRow.Hidden = True
If ActiveSheet.Range("L58") = "" Then Rows("58:59").EntireRow.Hidden = True
If ActiveSheet.Range("L60") = "" Then Rows("60:61").EntireRow.Hidden = True
If ActiveSheet.Range("L62") = "" Then Rows("62:63").EntireRow.Hidden = True
If ActiveSheet.Range("L64") = "" Then Rows("64:65").EntireRow.Hidden = True
If ActiveSheet.Range("L66") = "" Then Rows("66:67").EntireRow.Hidden = True
If ActiveSheet.Range("L68") = "" Then Rows("68:69").EntireRow.Hidden = True
...
2°)J'ai récupéré un bout de code sur Internet qui m'avait paru intéressant
afin de "protéger" le modèle que je suis en train de créer de Facture
Devis. Je ne souhaitais pas en effet utiliser la protection excel car
elle est trop facilement enlevable avec des logiciels comme Acyd mais
seulement protéger mon modèle contre de maunvaises manipulations en
empechant de sélectionner une ou plusiseur cellules. Malhuereusement je
ne suis pas capable d'adapter ce code tout à fait à mon problème. Le
code était le suivant:
If ActiveCell.Address = "$O$37" Then ActiveCell.Offset(0, -6).Select
Comment dois je faire si je veux "protéger" toute une plage par exemple
de O37 à O57 autrement qu'en "recopiant" plusierus fois la formule ?
Peut-on transformer cette formule en boucle dont la traduction
française serait: tant que l'utilisateut sélectionne une cellule
comprise entre O37 et O57 alors se déplacer en colonne B sur la même
ligne ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anomymousA
bonjour,
Set plage = Cells(50, 12) For I = 1 To 9 Set plage = Union(Cells(50 + 2 * I, 12), plage) Next
For Each c In plage
If IsEmpty(c) Then Range(c, c.Offset(1, 0)).EntireRow.Hidden = True
Next
Pour le déplacement automatique, la proc suivante à mettre dans le module de feuille concerné
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("O37:O57"), Target) Is Nothing Then Target.Offset(0, -13).Activate End If
End Sub
A+
Je suis à la recherche d'une solution pour transformer les codes suivant en "boucle":
1°) If ActiveSheet.Range("L50") = "" Then Rows("50:51").EntireRow.Hidden = True If ActiveSheet.Range("L52") = "" Then Rows("52:53").EntireRow.Hidden = True If ActiveSheet.Range("L54") = "" Then Rows("54:55").EntireRow.Hidden = True If ActiveSheet.Range("L56") = "" Then Rows("56:57").EntireRow.Hidden = True If ActiveSheet.Range("L58") = "" Then Rows("58:59").EntireRow.Hidden = True If ActiveSheet.Range("L60") = "" Then Rows("60:61").EntireRow.Hidden = True If ActiveSheet.Range("L62") = "" Then Rows("62:63").EntireRow.Hidden = True If ActiveSheet.Range("L64") = "" Then Rows("64:65").EntireRow.Hidden = True If ActiveSheet.Range("L66") = "" Then Rows("66:67").EntireRow.Hidden = True If ActiveSheet.Range("L68") = "" Then Rows("68:69").EntireRow.Hidden = True
...
2°)J'ai récupéré un bout de code sur Internet qui m'avait paru intéressant afin de "protéger" le modèle que je suis en train de créer de Facture Devis. Je ne souhaitais pas en effet utiliser la protection excel car elle est trop facilement enlevable avec des logiciels comme Acyd mais seulement protéger mon modèle contre de maunvaises manipulations en empechant de sélectionner une ou plusiseur cellules. Malhuereusement je ne suis pas capable d'adapter ce code tout à fait à mon problème. Le code était le suivant:
If ActiveCell.Address = "$O$37" Then ActiveCell.Offset(0, -6).Select
Comment dois je faire si je veux "protéger" toute une plage par exemple de O37 à O57 autrement qu'en "recopiant" plusierus fois la formule ? Peut-on transformer cette formule en boucle dont la traduction française serait: tant que l'utilisateut sélectionne une cellule comprise entre O37 et O57 alors se déplacer en colonne B sur la même ligne ?
Merci
bonjour,
Set plage = Cells(50, 12)
For I = 1 To 9
Set plage = Union(Cells(50 + 2 * I, 12), plage)
Next
For Each c In plage
If IsEmpty(c) Then Range(c, c.Offset(1, 0)).EntireRow.Hidden = True
Next
Pour le déplacement automatique, la proc suivante à mettre dans le module de
feuille concerné
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("O37:O57"), Target) Is Nothing Then
Target.Offset(0, -13).Activate
End If
End Sub
A+
Je suis à la recherche d'une solution pour transformer les codes suivant en
"boucle":
1°)
If ActiveSheet.Range("L50") = "" Then Rows("50:51").EntireRow.Hidden = True
If ActiveSheet.Range("L52") = "" Then Rows("52:53").EntireRow.Hidden = True
If ActiveSheet.Range("L54") = "" Then Rows("54:55").EntireRow.Hidden = True
If ActiveSheet.Range("L56") = "" Then Rows("56:57").EntireRow.Hidden = True
If ActiveSheet.Range("L58") = "" Then Rows("58:59").EntireRow.Hidden = True
If ActiveSheet.Range("L60") = "" Then Rows("60:61").EntireRow.Hidden = True
If ActiveSheet.Range("L62") = "" Then Rows("62:63").EntireRow.Hidden = True
If ActiveSheet.Range("L64") = "" Then Rows("64:65").EntireRow.Hidden = True
If ActiveSheet.Range("L66") = "" Then Rows("66:67").EntireRow.Hidden = True
If ActiveSheet.Range("L68") = "" Then Rows("68:69").EntireRow.Hidden = True
...
2°)J'ai récupéré un bout de code sur Internet qui m'avait paru intéressant
afin de "protéger" le modèle que je suis en train de créer de Facture
Devis. Je ne souhaitais pas en effet utiliser la protection excel car
elle est trop facilement enlevable avec des logiciels comme Acyd mais
seulement protéger mon modèle contre de maunvaises manipulations en
empechant de sélectionner une ou plusiseur cellules. Malhuereusement je
ne suis pas capable d'adapter ce code tout à fait à mon problème. Le
code était le suivant:
If ActiveCell.Address = "$O$37" Then ActiveCell.Offset(0, -6).Select
Comment dois je faire si je veux "protéger" toute une plage par exemple
de O37 à O57 autrement qu'en "recopiant" plusierus fois la formule ?
Peut-on transformer cette formule en boucle dont la traduction
française serait: tant que l'utilisateut sélectionne une cellule
comprise entre O37 et O57 alors se déplacer en colonne B sur la même
ligne ?
Set plage = Cells(50, 12) For I = 1 To 9 Set plage = Union(Cells(50 + 2 * I, 12), plage) Next
For Each c In plage
If IsEmpty(c) Then Range(c, c.Offset(1, 0)).EntireRow.Hidden = True
Next
Pour le déplacement automatique, la proc suivante à mettre dans le module de feuille concerné
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("O37:O57"), Target) Is Nothing Then Target.Offset(0, -13).Activate End If
End Sub
A+
Je suis à la recherche d'une solution pour transformer les codes suivant en "boucle":
1°) If ActiveSheet.Range("L50") = "" Then Rows("50:51").EntireRow.Hidden = True If ActiveSheet.Range("L52") = "" Then Rows("52:53").EntireRow.Hidden = True If ActiveSheet.Range("L54") = "" Then Rows("54:55").EntireRow.Hidden = True If ActiveSheet.Range("L56") = "" Then Rows("56:57").EntireRow.Hidden = True If ActiveSheet.Range("L58") = "" Then Rows("58:59").EntireRow.Hidden = True If ActiveSheet.Range("L60") = "" Then Rows("60:61").EntireRow.Hidden = True If ActiveSheet.Range("L62") = "" Then Rows("62:63").EntireRow.Hidden = True If ActiveSheet.Range("L64") = "" Then Rows("64:65").EntireRow.Hidden = True If ActiveSheet.Range("L66") = "" Then Rows("66:67").EntireRow.Hidden = True If ActiveSheet.Range("L68") = "" Then Rows("68:69").EntireRow.Hidden = True
...
2°)J'ai récupéré un bout de code sur Internet qui m'avait paru intéressant afin de "protéger" le modèle que je suis en train de créer de Facture Devis. Je ne souhaitais pas en effet utiliser la protection excel car elle est trop facilement enlevable avec des logiciels comme Acyd mais seulement protéger mon modèle contre de maunvaises manipulations en empechant de sélectionner une ou plusiseur cellules. Malhuereusement je ne suis pas capable d'adapter ce code tout à fait à mon problème. Le code était le suivant:
If ActiveCell.Address = "$O$37" Then ActiveCell.Offset(0, -6).Select
Comment dois je faire si je veux "protéger" toute une plage par exemple de O37 à O57 autrement qu'en "recopiant" plusierus fois la formule ? Peut-on transformer cette formule en boucle dont la traduction française serait: tant que l'utilisateut sélectionne une cellule comprise entre O37 et O57 alors se déplacer en colonne B sur la même ligne ?
Merci
nicolas65
Merci pour votre rapidité.
bonjour,
Set plage = Cells(50, 12) For I = 1 To 9 Set plage = Union(Cells(50 + 2 * I, 12), plage) Next
For Each c In plage
If IsEmpty(c) Then Range(c, c.Offset(1, 0)).EntireRow.Hidden = True
Next
Pour le déplacement automatique, la proc suivante à mettre dans le module de feuille concerné
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("O37:O57"), Target) Is Nothing Then Target.Offset(0, -13).Activate End If
End Sub
A+
Je suis à la recherche d'une solution pour transformer les codes suivant en "boucle":
1°) If ActiveSheet.Range("L50") = "" Then Rows("50:51").EntireRow.Hidden = True If ActiveSheet.Range("L52") = "" Then Rows("52:53").EntireRow.Hidden = True If ActiveSheet.Range("L54") = "" Then Rows("54:55").EntireRow.Hidden = True If ActiveSheet.Range("L56") = "" Then Rows("56:57").EntireRow.Hidden = True If ActiveSheet.Range("L58") = "" Then Rows("58:59").EntireRow.Hidden = True If ActiveSheet.Range("L60") = "" Then Rows("60:61").EntireRow.Hidden = True If ActiveSheet.Range("L62") = "" Then Rows("62:63").EntireRow.Hidden = True If ActiveSheet.Range("L64") = "" Then Rows("64:65").EntireRow.Hidden = True If ActiveSheet.Range("L66") = "" Then Rows("66:67").EntireRow.Hidden = True If ActiveSheet.Range("L68") = "" Then Rows("68:69").EntireRow.Hidden = True
...
2°)J'ai récupéré un bout de code sur Internet qui m'avait paru intéressant afin de "protéger" le modèle que je suis en train de créer de Facture Devis. Je ne souhaitais pas en effet utiliser la protection excel car elle est trop facilement enlevable avec des logiciels comme Acyd mais seulement protéger mon modèle contre de maunvaises manipulations en empechant de sélectionner une ou plusiseur cellules. Malhuereusement je ne suis pas capable d'adapter ce code tout à fait à mon problème. Le code était le suivant:
If ActiveCell.Address = "$O$37" Then ActiveCell.Offset(0, -6).Select
Comment dois je faire si je veux "protéger" toute une plage par exemple de O37 à O57 autrement qu'en "recopiant" plusierus fois la formule ? Peut-on transformer cette formule en boucle dont la traduction française serait: tant que l'utilisateut sélectionne une cellule comprise entre O37 et O57 alors se déplacer en colonne B sur la même ligne ?
Merci
Merci pour votre rapidité.
bonjour,
Set plage = Cells(50, 12)
For I = 1 To 9
Set plage = Union(Cells(50 + 2 * I, 12), plage)
Next
For Each c In plage
If IsEmpty(c) Then Range(c, c.Offset(1, 0)).EntireRow.Hidden = True
Next
Pour le déplacement automatique, la proc suivante à mettre dans le module de
feuille concerné
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("O37:O57"), Target) Is Nothing Then
Target.Offset(0, -13).Activate
End If
End Sub
A+
Je suis à la recherche d'une solution pour transformer les codes suivant en
"boucle":
1°)
If ActiveSheet.Range("L50") = "" Then Rows("50:51").EntireRow.Hidden = True
If ActiveSheet.Range("L52") = "" Then Rows("52:53").EntireRow.Hidden = True
If ActiveSheet.Range("L54") = "" Then Rows("54:55").EntireRow.Hidden = True
If ActiveSheet.Range("L56") = "" Then Rows("56:57").EntireRow.Hidden = True
If ActiveSheet.Range("L58") = "" Then Rows("58:59").EntireRow.Hidden = True
If ActiveSheet.Range("L60") = "" Then Rows("60:61").EntireRow.Hidden = True
If ActiveSheet.Range("L62") = "" Then Rows("62:63").EntireRow.Hidden = True
If ActiveSheet.Range("L64") = "" Then Rows("64:65").EntireRow.Hidden = True
If ActiveSheet.Range("L66") = "" Then Rows("66:67").EntireRow.Hidden = True
If ActiveSheet.Range("L68") = "" Then Rows("68:69").EntireRow.Hidden = True
...
2°)J'ai récupéré un bout de code sur Internet qui m'avait paru intéressant
afin de "protéger" le modèle que je suis en train de créer de Facture
Devis. Je ne souhaitais pas en effet utiliser la protection excel car
elle est trop facilement enlevable avec des logiciels comme Acyd mais
seulement protéger mon modèle contre de maunvaises manipulations en
empechant de sélectionner une ou plusiseur cellules. Malhuereusement je
ne suis pas capable d'adapter ce code tout à fait à mon problème. Le
code était le suivant:
If ActiveCell.Address = "$O$37" Then ActiveCell.Offset(0, -6).Select
Comment dois je faire si je veux "protéger" toute une plage par exemple
de O37 à O57 autrement qu'en "recopiant" plusierus fois la formule ?
Peut-on transformer cette formule en boucle dont la traduction
française serait: tant que l'utilisateut sélectionne une cellule
comprise entre O37 et O57 alors se déplacer en colonne B sur la même
ligne ?
Set plage = Cells(50, 12) For I = 1 To 9 Set plage = Union(Cells(50 + 2 * I, 12), plage) Next
For Each c In plage
If IsEmpty(c) Then Range(c, c.Offset(1, 0)).EntireRow.Hidden = True
Next
Pour le déplacement automatique, la proc suivante à mettre dans le module de feuille concerné
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("O37:O57"), Target) Is Nothing Then Target.Offset(0, -13).Activate End If
End Sub
A+
Je suis à la recherche d'une solution pour transformer les codes suivant en "boucle":
1°) If ActiveSheet.Range("L50") = "" Then Rows("50:51").EntireRow.Hidden = True If ActiveSheet.Range("L52") = "" Then Rows("52:53").EntireRow.Hidden = True If ActiveSheet.Range("L54") = "" Then Rows("54:55").EntireRow.Hidden = True If ActiveSheet.Range("L56") = "" Then Rows("56:57").EntireRow.Hidden = True If ActiveSheet.Range("L58") = "" Then Rows("58:59").EntireRow.Hidden = True If ActiveSheet.Range("L60") = "" Then Rows("60:61").EntireRow.Hidden = True If ActiveSheet.Range("L62") = "" Then Rows("62:63").EntireRow.Hidden = True If ActiveSheet.Range("L64") = "" Then Rows("64:65").EntireRow.Hidden = True If ActiveSheet.Range("L66") = "" Then Rows("66:67").EntireRow.Hidden = True If ActiveSheet.Range("L68") = "" Then Rows("68:69").EntireRow.Hidden = True
...
2°)J'ai récupéré un bout de code sur Internet qui m'avait paru intéressant afin de "protéger" le modèle que je suis en train de créer de Facture Devis. Je ne souhaitais pas en effet utiliser la protection excel car elle est trop facilement enlevable avec des logiciels comme Acyd mais seulement protéger mon modèle contre de maunvaises manipulations en empechant de sélectionner une ou plusiseur cellules. Malhuereusement je ne suis pas capable d'adapter ce code tout à fait à mon problème. Le code était le suivant:
If ActiveCell.Address = "$O$37" Then ActiveCell.Offset(0, -6).Select
Comment dois je faire si je veux "protéger" toute une plage par exemple de O37 à O57 autrement qu'en "recopiant" plusierus fois la formule ? Peut-on transformer cette formule en boucle dont la traduction française serait: tant que l'utilisateut sélectionne une cellule comprise entre O37 et O57 alors se déplacer en colonne B sur la même ligne ?