OVH Cloud OVH Cloud

macro pour affichage d'userform

7 réponses
Avatar
rick
bonjour,

Je voudrais qu'à tout moment lorsque je passe de la ligne 15 à la ligne 16,
et ainsi de suite un userform s'affiche.

merci

7 réponses

Avatar
anonymousA
bonjour,

j'ai pas compris le "ainsi de suite" mais le passage de la ligne 15 à la
ligne 16 déclenchant un UF peut se faire par une procédure
evenementielle selectionchange sous réserve de tester si la ligne 16
appartient à la selection et si le nombre de lignes sélectionnées est
égal à 1 , du moins c'est ainsi que je peux interpreter ta demande.

A+

bonjour,

Je voudrais qu'à tout moment lorsque je passe de la ligne 15 à la ligne 16,
et ainsi de suite un userform s'affiche.

merci


Avatar
rick
oui voila c'est ca , au fait j'ai un tableau de la ligne 15 à 400, et je veux
qu'a chaque fois que je passe d'une ligne à une autre, j'ai l'userform qui
s'affiche.

merci d'avance


bonjour,

j'ai pas compris le "ainsi de suite" mais le passage de la ligne 15 à la
ligne 16 déclenchant un UF peut se faire par une procédure
evenementielle selectionchange sous réserve de tester si la ligne 16
appartient à la selection et si le nombre de lignes sélectionnées est
égal à 1 , du moins c'est ainsi que je peux interpreter ta demande.

A+

bonjour,

Je voudrais qu'à tout moment lorsque je passe de la ligne 15 à la ligne 16,
et ainsi de suite un userform s'affiche.

merci





Avatar
anonymousA
ben tu fais ce que je t'ai indiqué en testant si tu es dans ton tableau,
à savoir en utiisant la fonction Intersect de l'objet Application. Voir
l'aide de VBA pour ca, elle est bien faite.

A+

oui voila c'est ca , au fait j'ai un tableau de la ligne 15 à 400, et je veux
qu'a chaque fois que je passe d'une ligne à une autre, j'ai l'userform qui
s'affiche.

merci d'avance



bonjour,

j'ai pas compris le "ainsi de suite" mais le passage de la ligne 15 à la
ligne 16 déclenchant un UF peut se faire par une procédure
evenementielle selectionchange sous réserve de tester si la ligne 16
appartient à la selection et si le nombre de lignes sélectionnées est
égal à 1 , du moins c'est ainsi que je peux interpreter ta demande.

A+


bonjour,

Je voudrais qu'à tout moment lorsque je passe de la ligne 15 à la ligne 16,
et ainsi de suite un userform s'affiche.

merci







Avatar
rick
j'ai essayé j'ai des blem avec la macro,

peut tu m'aider pour cette macro stp?

merci


ben tu fais ce que je t'ai indiqué en testant si tu es dans ton tableau,
à savoir en utiisant la fonction Intersect de l'objet Application. Voir
l'aide de VBA pour ca, elle est bien faite.

A+

oui voila c'est ca , au fait j'ai un tableau de la ligne 15 à 400, et je veux
qu'a chaque fois que je passe d'une ligne à une autre, j'ai l'userform qui
s'affiche.

merci d'avance



bonjour,

j'ai pas compris le "ainsi de suite" mais le passage de la ligne 15 à la
ligne 16 déclenchant un UF peut se faire par une procédure
evenementielle selectionchange sous réserve de tester si la ligne 16
appartient à la selection et si le nombre de lignes sélectionnées est
égal à 1 , du moins c'est ainsi que je peux interpreter ta demande.

A+


bonjour,

Je voudrais qu'à tout moment lorsque je passe de la ligne 15 à la ligne 16,
et ainsi de suite un userform s'affiche.

merci










Avatar
docm
Bonjour.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Static CellulePrecedente As Range
On Error GoTo sortie
If Target.Row > 14 Then
If Target.Row <> CellulePrecedente.Row Then
UserForm1.Show
End If
End If
sortie:
On Error Resume Next
Set CellulePrecedente = Target
End Sub


"rick" wrote in message
news:
bonjour,

Je voudrais qu'à tout moment lorsque je passe de la ligne 15 à la ligne
16,

et ainsi de suite un userform s'affiche.

merci


Avatar
rick
merci, mais peut tu mettre des commentaires pour que je comprenne mieux le
programme, et je souhaite que l'userform ne s'affiche seulement quand je
passe d'une ligne à une autre et pas quand je remonte de la ligne 17 à 16, ou
15 à 14...

merci d'avance


Bonjour.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Static CellulePrecedente As Range
On Error GoTo sortie
If Target.Row > 14 Then
If Target.Row <> CellulePrecedente.Row Then
UserForm1.Show
End If
End If
sortie:
On Error Resume Next
Set CellulePrecedente = Target
End Sub


"rick" wrote in message
news:
bonjour,

Je voudrais qu'à tout moment lorsque je passe de la ligne 15 à la ligne
16,

et ainsi de suite un userform s'affiche.

merci







Avatar
docm
Voici la procédure commentée.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Static permet que la variable ne soit pas détruite à la fin de cette
procédure.
'La valeur actuelle sera donc disponible lors du prochain appel à cette
procédure
Static CellulePrecedente As Range
On Error GoTo sortie
If Target.Row > 14 Then 'Si la propriété Ligne (Row) de la nouvelle cellule
sélectionnée (Target)
'est supérieure à 14
If Target.Row - CellulePrecedente.Row = 1 Then 'Si la propriété Ligne (Row)
de la nouvelle cellule sélectionnée (Target.Row)
'est supérieure de 1 à la propriété Ligne de la cellule active précédente
(CellulePrecedente.Row)
UserForm1.Show
End If
End If
sortie:
On Error Resume Next
'Copier la cellule active actuelle dans la variable objet CellulePrecedente
'afin de la comparer avec la prochaine cellule active lors du prochain appel
à cette procédure
Set CellulePrecedente = Target
End Sub

"rick" wrote in message
news:
merci, mais peut tu mettre des commentaires pour que je comprenne mieux le
programme, et je souhaite que l'userform ne s'affiche seulement quand je
passe d'une ligne à une autre et pas quand je remonte de la ligne 17 à 16,
ou

15 à 14...

merci d'avance


Bonjour.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Static CellulePrecedente As Range
On Error GoTo sortie
If Target.Row > 14 Then
If Target.Row <> CellulePrecedente.Row Then
UserForm1.Show
End If
End If
sortie:
On Error Resume Next
Set CellulePrecedente = Target
End Sub


"rick" wrote in message
news:
bonjour,

Je voudrais qu'à tout moment lorsque je passe de la ligne 15 à la
ligne



16,
et ainsi de suite un userform s'affiche.

merci