OVH Cloud OVH Cloud

bouton pour démasquer

6 réponses
Avatar
Érico
Bonjour à tous!

J'aimerais avoir une macro suivante:
De démasquer une ligne et s'il n'y a plus de lignes, d'afficher un message
d'erreur qu'il n'y plus de lignes masquées.

Avec un bouton, la macro exécute:
- Bienvenue à la macro!
- Apparait une boite dialogue qui demande de me placer au dessus de la ligne
à afficher
- Il fait afficher la ligne
- s'il n'y avait pas de ligne masqué, d'afficher "il n'y a plus de ligne
masqué"
- de me placer sur la nouvelle ligne


Ma macro actuelle que j'ai, elle créé des nouvelles lignes et copie des
formules existantes des autres lignes et la voici:


Merci de votre collaboration.

Érico de Montréal
Vive les Français!

______________________________________________________________
Sub AjouterDesLignes()
' vbInformation, "Ouverture"


MsgBox " Salut Paul! "
Dim A As Variant, B As Range, C As Integer
A = Application.InputBox(Prompt:="Combien de lignes faut-il insérer?",
Type:=1)
MsgBox " La ligne ou les lignes seront insérées par dessus. "
If A = "Faux" Then Exit Sub
If A <= 0 Then Exit Sub
'-----------------------
Rem rajouter
ActiveSheet.Protect password:="thepass", userinterfaceonly:=True
'-----------------------

On Error Resume Next
Set B = Application.InputBox(Prompt:="Sélectionner la cellule.", Type:=8)
If Err <> 0 Then
Err = 0
Exit Sub
Else
For C = 1 To A
B.EntireRow.Insert
Range("c" & B.Row & ":" & "d" & B.Row).Copy Range("c" & B.Row - 1 &
":" & "d" & B.Row - 1)
Range("h" & B.Row & ":" & "i" & B.Row).Copy Range("h" & B.Row - 1 &
":" & "i" & B.Row - 1)
Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 12
'Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 4
'****rouge***

Next
End If
Range("A7:A8").Select
Selection.AutoFill Destination:=Range("A7:A60")
Range("A7:A60").Select


End Sub
______________________________________________________

6 réponses

Avatar
michdenis
Bonjour Érico,

Je ne suis pas sur d'avoir compris tous les détails de ce que tu veux,

essaie ceci :

Cette macro va afficher toutes les lignes en dessous de la cellule sélectionnée.
Dès qu'elle rencontre une ligne qui est non masquée, elle s'arrête à cette ligne.

'--------------------------------------
Sub Test()

Dim Rg As Range
Do
On Error Resume Next
Set Rg = Application.InputBox(prompt:="Sélectionner" & _
"une cellule de la ligne juste au dessus de la" & _
"ligne à afficher.", Title:="Selection", Type:=8)
If Err = 0 Then
Application.ScreenUpdating = False
Do
If Not Rg Is Nothing Then
If Rg.Offset(1).EntireRow.Hidden = True Then
Rg.Offset(1).EntireRow.Hidden = False
Set Rg = Rg.Offset(1)
Else
Ok = True
Rg(1, 1).Select
Application.ScreenUpdating = True
MsgBox "Les lignes en dessous de votre " & _
"sélection ne sont plus masquées.", vbOKOnly & _
vbInformation, "Terminée"
Exit Do
End If
End If
Loop
Else
Err = 0
Ok = True
End If
Loop Until Ok = True
End Sub
'--------------------------------------


Salutations!




"Érico" a écrit dans le message de news:
Bonjour à tous!

J'aimerais avoir une macro suivante:
De démasquer une ligne et s'il n'y a plus de lignes, d'afficher un message
d'erreur qu'il n'y plus de lignes masquées.

Avec un bouton, la macro exécute:
- Bienvenue à la macro!
- Apparait une boite dialogue qui demande de me placer au dessus de la ligne
à afficher
- Il fait afficher la ligne
- s'il n'y avait pas de ligne masqué, d'afficher "il n'y a plus de ligne
masqué"
- de me placer sur la nouvelle ligne


Ma macro actuelle que j'ai, elle créé des nouvelles lignes et copie des
formules existantes des autres lignes et la voici:


Merci de votre collaboration.

Érico de Montréal
Vive les Français!

______________________________________________________________
Sub AjouterDesLignes()
' vbInformation, "Ouverture"


MsgBox " Salut Paul! "
Dim A As Variant, B As Range, C As Integer
A = Application.InputBox(Prompt:="Combien de lignes faut-il insérer?",
Type:=1)
MsgBox " La ligne ou les lignes seront insérées par dessus. "
If A = "Faux" Then Exit Sub
If A <= 0 Then Exit Sub
'-----------------------
Rem rajouter
ActiveSheet.Protect password:="thepass", userinterfaceonly:=True
'-----------------------

On Error Resume Next
Set B = Application.InputBox(Prompt:="Sélectionner la cellule.", Type:=8)
If Err <> 0 Then
Err = 0
Exit Sub
Else
For C = 1 To A
B.EntireRow.Insert
Range("c" & B.Row & ":" & "d" & B.Row).Copy Range("c" & B.Row - 1 &
":" & "d" & B.Row - 1)
Range("h" & B.Row & ":" & "i" & B.Row).Copy Range("h" & B.Row - 1 &
":" & "i" & B.Row - 1)
Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 12
'Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 4
'****rouge***

Next
End If
Range("A7:A8").Select
Selection.AutoFill Destination:=Range("A7:A60")
Range("A7:A60").Select


End Sub
______________________________________________________
Avatar
Érico
Merci, je vais essayer ça demain!
Érico

"michdenis" a écrit dans le message de news:

Bonjour Érico,

Je ne suis pas sur d'avoir compris tous les détails de ce que tu veux,

essaie ceci :

Cette macro va afficher toutes les lignes en dessous de la cellule
sélectionnée.
Dès qu'elle rencontre une ligne qui est non masquée, elle s'arrête à cette
ligne.

'--------------------------------------
Sub Test()

Dim Rg As Range
Do
On Error Resume Next
Set Rg = Application.InputBox(prompt:="Sélectionner" & _
"une cellule de la ligne juste au dessus de la" & _
"ligne à afficher.", Title:="Selection", Type:=8)
If Err = 0 Then
Application.ScreenUpdating = False
Do
If Not Rg Is Nothing Then
If Rg.Offset(1).EntireRow.Hidden = True Then
Rg.Offset(1).EntireRow.Hidden = False
Set Rg = Rg.Offset(1)
Else
Ok = True
Rg(1, 1).Select
Application.ScreenUpdating = True
MsgBox "Les lignes en dessous de votre " & _
"sélection ne sont plus masquées.", vbOKOnly & _
vbInformation, "Terminée"
Exit Do
End If
End If
Loop
Else
Err = 0
Ok = True
End If
Loop Until Ok = True
End Sub
'--------------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour à tous!

J'aimerais avoir une macro suivante:
De démasquer une ligne et s'il n'y a plus de lignes, d'afficher un message
d'erreur qu'il n'y plus de lignes masquées.

Avec un bouton, la macro exécute:
- Bienvenue à la macro!
- Apparait une boite dialogue qui demande de me placer au dessus de la
ligne
à afficher
- Il fait afficher la ligne
- s'il n'y avait pas de ligne masqué, d'afficher "il n'y a plus de ligne
masqué"
- de me placer sur la nouvelle ligne


Ma macro actuelle que j'ai, elle créé des nouvelles lignes et copie des
formules existantes des autres lignes et la voici:


Merci de votre collaboration.

Érico de Montréal
Vive les Français!

______________________________________________________________
Sub AjouterDesLignes()
' vbInformation, "Ouverture"


MsgBox " Salut Paul! "
Dim A As Variant, B As Range, C As Integer
A = Application.InputBox(Prompt:="Combien de lignes faut-il insérer?",
Type:=1)
MsgBox " La ligne ou les lignes seront insérées par dessus. "
If A = "Faux" Then Exit Sub
If A <= 0 Then Exit Sub
'-----------------------
Rem rajouter
ActiveSheet.Protect password:="thepass", userinterfaceonly:=True
'-----------------------

On Error Resume Next
Set B = Application.InputBox(Prompt:="Sélectionner la cellule.", Type:=8)
If Err <> 0 Then
Err = 0
Exit Sub
Else
For C = 1 To A
B.EntireRow.Insert
Range("c" & B.Row & ":" & "d" & B.Row).Copy Range("c" & B.Row - 1 &
":" & "d" & B.Row - 1)
Range("h" & B.Row & ":" & "i" & B.Row).Copy Range("h" & B.Row - 1 &
":" & "i" & B.Row - 1)
Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 12
'Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 4
'****rouge***

Next
End If
Range("A7:A8").Select
Selection.AutoFill Destination:=Range("A7:A60")
Range("A7:A60").Select


End Sub
______________________________________________________






Avatar
Érico
Salut Mich!

Elle fonctionne bien, sauf qu'elle démasque tout les lignes qui sont
masquées.

Est-ce possible une ligne à la fois seulement?

Merci pour ton aide.

Érico




"michdenis" a écrit dans le message de news:

Bonjour Érico,

Je ne suis pas sur d'avoir compris tous les détails de ce que tu veux,

essaie ceci :

Cette macro va afficher toutes les lignes en dessous de la cellule
sélectionnée.
Dès qu'elle rencontre une ligne qui est non masquée, elle s'arrête à cette
ligne.

'--------------------------------------
Sub Test()

Dim Rg As Range
Do
On Error Resume Next
Set Rg = Application.InputBox(prompt:="Sélectionner" & _
"une cellule de la ligne juste au dessus de la" & _
"ligne à afficher.", Title:="Selection", Type:=8)
If Err = 0 Then
Application.ScreenUpdating = False
Do
If Not Rg Is Nothing Then
If Rg.Offset(1).EntireRow.Hidden = True Then
Rg.Offset(1).EntireRow.Hidden = False
Set Rg = Rg.Offset(1)
Else
Ok = True
Rg(1, 1).Select
Application.ScreenUpdating = True
MsgBox "Les lignes en dessous de votre " & _
"sélection ne sont plus masquées.", vbOKOnly & _
vbInformation, "Terminée"
Exit Do
End If
End If
Loop
Else
Err = 0
Ok = True
End If
Loop Until Ok = True
End Sub
'--------------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour à tous!

J'aimerais avoir une macro suivante:
De démasquer une ligne et s'il n'y a plus de lignes, d'afficher un message
d'erreur qu'il n'y plus de lignes masquées.

Avec un bouton, la macro exécute:
- Bienvenue à la macro!
- Apparait une boite dialogue qui demande de me placer au dessus de la
ligne
à afficher
- Il fait afficher la ligne
- s'il n'y avait pas de ligne masqué, d'afficher "il n'y a plus de ligne
masqué"
- de me placer sur la nouvelle ligne


Ma macro actuelle que j'ai, elle créé des nouvelles lignes et copie des
formules existantes des autres lignes et la voici:


Merci de votre collaboration.

Érico de Montréal
Vive les Français!

______________________________________________________________
Sub AjouterDesLignes()
' vbInformation, "Ouverture"


MsgBox " Salut Paul! "
Dim A As Variant, B As Range, C As Integer
A = Application.InputBox(Prompt:="Combien de lignes faut-il insérer?",
Type:=1)
MsgBox " La ligne ou les lignes seront insérées par dessus. "
If A = "Faux" Then Exit Sub
If A <= 0 Then Exit Sub
'-----------------------
Rem rajouter
ActiveSheet.Protect password:="thepass", userinterfaceonly:=True
'-----------------------

On Error Resume Next
Set B = Application.InputBox(Prompt:="Sélectionner la cellule.", Type:=8)
If Err <> 0 Then
Err = 0
Exit Sub
Else
For C = 1 To A
B.EntireRow.Insert
Range("c" & B.Row & ":" & "d" & B.Row).Copy Range("c" & B.Row - 1 &
":" & "d" & B.Row - 1)
Range("h" & B.Row & ":" & "i" & B.Row).Copy Range("h" & B.Row - 1 &
":" & "i" & B.Row - 1)
Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 12
'Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 4
'****rouge***

Next
End If
Range("A7:A8").Select
Selection.AutoFill Destination:=Range("A7:A60")
Range("A7:A60").Select


End Sub
______________________________________________________






Avatar
michdenis
Bonjour Érico,

Et ceci :

'--------------------------------
Sub Test()

Dim Rg As Range
On Error Resume Next
Set Rg = Application.InputBox(prompt:="Sélectionner" & _
"une cellule de la ligne juste au dessus de la" & _
"ligne à afficher.", Title:="Selection", Type:=8)
If Err = 0 Then
If Rg.Offset(1).EntireRow.Hidden = True Then
Rg.Offset(1).EntireRow.Hidden = False
Else
MsgBox "La ligne en dessous de votre " & _
"n'est pas masquée.", vbOKOnly & _
vbInformation, "Terminée"
End If
End If
Set Rg = Nothing
End Sub
'--------------------------------


Salutations!



"Érico" a écrit dans le message de news: %231Cd$
Salut Mich!

Elle fonctionne bien, sauf qu'elle démasque tout les lignes qui sont
masquées.

Est-ce possible une ligne à la fois seulement?

Merci pour ton aide.

Érico




"michdenis" a écrit dans le message de news:

Bonjour Érico,

Je ne suis pas sur d'avoir compris tous les détails de ce que tu veux,

essaie ceci :

Cette macro va afficher toutes les lignes en dessous de la cellule
sélectionnée.
Dès qu'elle rencontre une ligne qui est non masquée, elle s'arrête à cette
ligne.

'--------------------------------------
Sub Test()

Dim Rg As Range
Do
On Error Resume Next
Set Rg = Application.InputBox(prompt:="Sélectionner" & _
"une cellule de la ligne juste au dessus de la" & _
"ligne à afficher.", Title:="Selection", Type:=8)
If Err = 0 Then
Application.ScreenUpdating = False
Do
If Not Rg Is Nothing Then
If Rg.Offset(1).EntireRow.Hidden = True Then
Rg.Offset(1).EntireRow.Hidden = False
Set Rg = Rg.Offset(1)
Else
Ok = True
Rg(1, 1).Select
Application.ScreenUpdating = True
MsgBox "Les lignes en dessous de votre " & _
"sélection ne sont plus masquées.", vbOKOnly & _
vbInformation, "Terminée"
Exit Do
End If
End If
Loop
Else
Err = 0
Ok = True
End If
Loop Until Ok = True
End Sub
'--------------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour à tous!

J'aimerais avoir une macro suivante:
De démasquer une ligne et s'il n'y a plus de lignes, d'afficher un message
d'erreur qu'il n'y plus de lignes masquées.

Avec un bouton, la macro exécute:
- Bienvenue à la macro!
- Apparait une boite dialogue qui demande de me placer au dessus de la
ligne
à afficher
- Il fait afficher la ligne
- s'il n'y avait pas de ligne masqué, d'afficher "il n'y a plus de ligne
masqué"
- de me placer sur la nouvelle ligne


Ma macro actuelle que j'ai, elle créé des nouvelles lignes et copie des
formules existantes des autres lignes et la voici:


Merci de votre collaboration.

Érico de Montréal
Vive les Français!

______________________________________________________________
Sub AjouterDesLignes()
' vbInformation, "Ouverture"


MsgBox " Salut Paul! "
Dim A As Variant, B As Range, C As Integer
A = Application.InputBox(Prompt:="Combien de lignes faut-il insérer?",
Type:=1)
MsgBox " La ligne ou les lignes seront insérées par dessus. "
If A = "Faux" Then Exit Sub
If A <= 0 Then Exit Sub
'-----------------------
Rem rajouter
ActiveSheet.Protect password:="thepass", userinterfaceonly:=True
'-----------------------

On Error Resume Next
Set B = Application.InputBox(Prompt:="Sélectionner la cellule.", Type:=8)
If Err <> 0 Then
Err = 0
Exit Sub
Else
For C = 1 To A
B.EntireRow.Insert
Range("c" & B.Row & ":" & "d" & B.Row).Copy Range("c" & B.Row - 1 &
":" & "d" & B.Row - 1)
Range("h" & B.Row & ":" & "i" & B.Row).Copy Range("h" & B.Row - 1 &
":" & "i" & B.Row - 1)
Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 12
'Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 4
'****rouge***

Next
End If
Range("A7:A8").Select
Selection.AutoFill Destination:=Range("A7:A60")
Range("A7:A60").Select


End Sub
______________________________________________________






Avatar
Érico
Superrrrr!
Un gros merci!

Tu vas pouvoir travailler en plein temps pour moi!

Ciao!

"michdenis" a écrit dans le message de news:

Bonjour Érico,

Et ceci :

'--------------------------------
Sub Test()

Dim Rg As Range
On Error Resume Next
Set Rg = Application.InputBox(prompt:="Sélectionner" & _
"une cellule de la ligne juste au dessus de la" & _
"ligne à afficher.", Title:="Selection", Type:=8)
If Err = 0 Then
If Rg.Offset(1).EntireRow.Hidden = True Then
Rg.Offset(1).EntireRow.Hidden = False
Else
MsgBox "La ligne en dessous de votre " & _
"n'est pas masquée.", vbOKOnly & _
vbInformation, "Terminée"
End If
End If
Set Rg = Nothing
End Sub
'--------------------------------


Salutations!



"Érico" a écrit dans le message de news:
%231Cd$
Salut Mich!

Elle fonctionne bien, sauf qu'elle démasque tout les lignes qui sont
masquées.

Est-ce possible une ligne à la fois seulement?

Merci pour ton aide.

Érico




"michdenis" a écrit dans le message de news:

Bonjour Érico,

Je ne suis pas sur d'avoir compris tous les détails de ce que tu veux,

essaie ceci :

Cette macro va afficher toutes les lignes en dessous de la cellule
sélectionnée.
Dès qu'elle rencontre une ligne qui est non masquée, elle s'arrête à
cette
ligne.

'--------------------------------------
Sub Test()

Dim Rg As Range
Do
On Error Resume Next
Set Rg = Application.InputBox(prompt:="Sélectionner" & _
"une cellule de la ligne juste au dessus de la" & _
"ligne à afficher.", Title:="Selection", Type:=8)
If Err = 0 Then
Application.ScreenUpdating = False
Do
If Not Rg Is Nothing Then
If Rg.Offset(1).EntireRow.Hidden = True Then
Rg.Offset(1).EntireRow.Hidden = False
Set Rg = Rg.Offset(1)
Else
Ok = True
Rg(1, 1).Select
Application.ScreenUpdating = True
MsgBox "Les lignes en dessous de votre " & _
"sélection ne sont plus masquées.", vbOKOnly & _
vbInformation, "Terminée"
Exit Do
End If
End If
Loop
Else
Err = 0
Ok = True
End If
Loop Until Ok = True
End Sub
'--------------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour à tous!

J'aimerais avoir une macro suivante:
De démasquer une ligne et s'il n'y a plus de lignes, d'afficher un
message
d'erreur qu'il n'y plus de lignes masquées.

Avec un bouton, la macro exécute:
- Bienvenue à la macro!
- Apparait une boite dialogue qui demande de me placer au dessus de la
ligne
à afficher
- Il fait afficher la ligne
- s'il n'y avait pas de ligne masqué, d'afficher "il n'y a plus de ligne
masqué"
- de me placer sur la nouvelle ligne


Ma macro actuelle que j'ai, elle créé des nouvelles lignes et copie des
formules existantes des autres lignes et la voici:


Merci de votre collaboration.

Érico de Montréal
Vive les Français!

______________________________________________________________
Sub AjouterDesLignes()
' vbInformation, "Ouverture"


MsgBox " Salut Paul! "
Dim A As Variant, B As Range, C As Integer
A = Application.InputBox(Prompt:="Combien de lignes faut-il insérer?",
Type:=1)
MsgBox " La ligne ou les lignes seront insérées par dessus. "
If A = "Faux" Then Exit Sub
If A <= 0 Then Exit Sub
'-----------------------
Rem rajouter
ActiveSheet.Protect password:="thepass", userinterfaceonly:=True
'-----------------------

On Error Resume Next
Set B = Application.InputBox(Prompt:="Sélectionner la cellule.", Type:=8)
If Err <> 0 Then
Err = 0
Exit Sub
Else
For C = 1 To A
B.EntireRow.Insert
Range("c" & B.Row & ":" & "d" & B.Row).Copy Range("c" & B.Row - 1
&
":" & "d" & B.Row - 1)
Range("h" & B.Row & ":" & "i" & B.Row).Copy Range("h" & B.Row - 1 &
":" & "i" & B.Row - 1)
Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 12
'Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 4
'****rouge***

Next
End If
Range("A7:A8").Select
Selection.AutoFill Destination:=Range("A7:A60")
Range("A7:A60").Select


End Sub
______________________________________________________











Avatar
Érico
Salut Mich,
Est-ce possible d'avoir cette même macro pour les colonne??

Merci


"Érico" a écrit dans le message de news:

Superrrrr!
Un gros merci!

Tu vas pouvoir travailler en plein temps pour moi!

Ciao!

"michdenis" a écrit dans le message de news:

Bonjour Érico,

Et ceci :

'--------------------------------
Sub Test()

Dim Rg As Range
On Error Resume Next
Set Rg = Application.InputBox(prompt:="Sélectionner" & _
"une cellule de la ligne juste au dessus de la" & _
"ligne à afficher.", Title:="Selection", Type:=8)
If Err = 0 Then
If Rg.Offset(1).EntireRow.Hidden = True Then
Rg.Offset(1).EntireRow.Hidden = False
Else
MsgBox "La ligne en dessous de votre " & _
"n'est pas masquée.", vbOKOnly & _
vbInformation, "Terminée"
End If
End If
Set Rg = Nothing
End Sub
'--------------------------------


Salutations!



"Érico" a écrit dans le message de news:
%231Cd$
Salut Mich!

Elle fonctionne bien, sauf qu'elle démasque tout les lignes qui sont
masquées.

Est-ce possible une ligne à la fois seulement?

Merci pour ton aide.

Érico




"michdenis" a écrit dans le message de news:

Bonjour Érico,

Je ne suis pas sur d'avoir compris tous les détails de ce que tu veux,

essaie ceci :

Cette macro va afficher toutes les lignes en dessous de la cellule
sélectionnée.
Dès qu'elle rencontre une ligne qui est non masquée, elle s'arrête à
cette
ligne.

'--------------------------------------
Sub Test()

Dim Rg As Range
Do
On Error Resume Next
Set Rg = Application.InputBox(prompt:="Sélectionner" & _
"une cellule de la ligne juste au dessus de la" & _
"ligne à afficher.", Title:="Selection", Type:=8)
If Err = 0 Then
Application.ScreenUpdating = False
Do
If Not Rg Is Nothing Then
If Rg.Offset(1).EntireRow.Hidden = True Then
Rg.Offset(1).EntireRow.Hidden = False
Set Rg = Rg.Offset(1)
Else
Ok = True
Rg(1, 1).Select
Application.ScreenUpdating = True
MsgBox "Les lignes en dessous de votre " & _
"sélection ne sont plus masquées.", vbOKOnly & _
vbInformation, "Terminée"
Exit Do
End If
End If
Loop
Else
Err = 0
Ok = True
End If
Loop Until Ok = True
End Sub
'--------------------------------------


Salutations!




"Érico" a écrit dans le message de news:

Bonjour à tous!

J'aimerais avoir une macro suivante:
De démasquer une ligne et s'il n'y a plus de lignes, d'afficher un
message
d'erreur qu'il n'y plus de lignes masquées.

Avec un bouton, la macro exécute:
- Bienvenue à la macro!
- Apparait une boite dialogue qui demande de me placer au dessus de la
ligne
à afficher
- Il fait afficher la ligne
- s'il n'y avait pas de ligne masqué, d'afficher "il n'y a plus de ligne
masqué"
- de me placer sur la nouvelle ligne


Ma macro actuelle que j'ai, elle créé des nouvelles lignes et copie des
formules existantes des autres lignes et la voici:


Merci de votre collaboration.

Érico de Montréal
Vive les Français!

______________________________________________________________
Sub AjouterDesLignes()
' vbInformation, "Ouverture"


MsgBox " Salut Paul! "
Dim A As Variant, B As Range, C As Integer
A = Application.InputBox(Prompt:="Combien de lignes faut-il insérer?",
Type:=1)
MsgBox " La ligne ou les lignes seront insérées par dessus. "
If A = "Faux" Then Exit Sub
If A <= 0 Then Exit Sub
'-----------------------
Rem rajouter
ActiveSheet.Protect password:="thepass", userinterfaceonly:=True
'-----------------------

On Error Resume Next
Set B = Application.InputBox(Prompt:="Sélectionner la cellule.",
Type:=8)
If Err <> 0 Then
Err = 0
Exit Sub
Else
For C = 1 To A
B.EntireRow.Insert
Range("c" & B.Row & ":" & "d" & B.Row).Copy Range("c" & B.Row - 1
&
":" & "d" & B.Row - 1)
Range("h" & B.Row & ":" & "i" & B.Row).Copy Range("h" & B.Row - 1 &
":" & "i" & B.Row - 1)
Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex = 12
'Range("A" & B.Row - 1 & ":j" & B.Row - 1).Interior.ColorIndex =
4
'****rouge***

Next
End If
Range("A7:A8").Select
Selection.AutoFill Destination:=Range("A7:A60")
Range("A7:A60").Select


End Sub
______________________________________________________