OVH Cloud OVH Cloud

Message de saisie suivant formule

14 réponses
Avatar
Steph
Bonjour,

Y a t'il moyen lors d'un passage sur une cellule d'afficher un message genre
"Message de saisie"
(dans DONNEES - VALIDATION - MESSAGE DE SAISIE - quand la cellule est
sélectionnée)
un message qui serais la valeur de la cellule A1 suivi d'un tiret et de la
valeur de la cellule A2.

Je ne souhaite pas de MsgBOX si possible.

Merci pour votre aide

Steph

4 réponses

1 2
Avatar
michdenis
Bonsoir Alain,

Merci pour l'info.


Salutations!


"Alain CROS" a écrit dans le message de news:
Bonjour.

Pour un emplacement précis, il faut le calculer puis utiliser ça.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$D$3" Then
With [D3]
.AddComment
With .Comment
.Text "Information :" & Chr$(10&) & [A1] & "-" & [A2]
With .Shape
.OLEFormat.Object.AutoSize = True
.IncrementTop (30!)
.IncrementLeft (-100!)
End With
.Visible = True
End With
End With
Else
[D3].ClearComments
End If
End Sub

Alain CROS.

"michdenis" a écrit dans le message de news:
Bonjour Garnote,

A ) Quant à faire, tu aurais pu ajouter cette ligne de code à ta procédure ... question de limiter la taille du
commentaire

:

.Comment.Shape.OLEFormat.Object.AutoSize = True

B ) Comment arrives-tu à afficher ton commentaire à un emplacement précis de ta feuille ?

;-))



Salutations!



"garnote" a écrit dans le message de news:AsSVb.30095$
Prudent de rajouter «On Error Resume Next» au début :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$D$3" Then
texte = [A1] & "-" & [A2]
With [D3]
.AddComment
.Comment.Visible = True
.Comment.Text Text:="Information :" & Chr(10) & texte
End With
Else
[D3].ClearComments
End If
End Sub

Serge





Avatar
garnote
:-)))))))))

Je commence à avoir de sacrées munitions pour
le poisson d'avril que je prépare pour mes collègues !
Si tu as d'autres idées de ce genre, je suis preneur.

Là c'est vrai, je ferme.

Serge



"ChrisV" a écrit dans le message de news:
O#
Salut Serge,

Et une variante pour la rigolade :


Une autre...?
(dans le genre ça colle aussi...)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
For Each cBar In Application.CommandBars
If cBar.Type = msoBarTypeNormal Then _
cBar.Visible = Not cBar.Visible
Next cBar
End Sub

Santé et bonne nuit,


Merci, à toi aussi !


ChrisV


"garnote" a écrit dans le message de news:
fyUVb.30113$
Et une variante pour la rigolade :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Cells.Validation
.Delete
.Add Type:=xlValidateInputOnly
.InputMessage = Now
.ShowInput = True
End With
End Sub

Serge

"ChrisV" a écrit dans le message de news:
#
Bonjour Steph,

Si tu souhaites un comportement comme la validation de données...
en supposant que la cellule qui doit contenir le message est: A5

Dans la feuille de code de l'onglet concerné...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With [A5].Validation
.Delete
.Add Type:=xlValidateInputOnly
.InputMessage = [A1] & " - " & [A2]
.ShowInput = True
End With
End Sub

On pourrait peut être aussi envisager l'insertion d'un commentaire
(celui


avec la petit coin rouge...) avec mise à jour automatique en fonction
du



contenu des cellules A1 et A2...


ChrisV


"Steph" a écrit dans le message de news:
4027c2ef$0$7040$
Bonjour,

Y a t'il moyen lors d'un passage sur une cellule d'afficher un
message




genre
"Message de saisie"
(dans DONNEES - VALIDATION - MESSAGE DE SAISIE - quand la cellule
est




sélectionnée)
un message qui serais la valeur de la cellule A1 suivi d'un tiret et
de



la
valeur de la cellule A2.

Je ne souhaite pas de MsgBOX si possible.

Merci pour votre aide

Steph
















Avatar
Steph
Merci beaucoup pour toutes ces infos....je testerais plus tard

Bonne journée,
Steph


"garnote" a écrit dans le message de news:
pYUVb.30116$
:-)))))))))

Je commence à avoir de sacrées munitions pour
le poisson d'avril que je prépare pour mes collègues !
Si tu as d'autres idées de ce genre, je suis preneur.

Là c'est vrai, je ferme.

Serge



"ChrisV" a écrit dans le message de news:
O#
Salut Serge,

Et une variante pour la rigolade :


Une autre...?
(dans le genre ça colle aussi...)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
For Each cBar In Application.CommandBars
If cBar.Type = msoBarTypeNormal Then _
cBar.Visible = Not cBar.Visible
Next cBar
End Sub

Santé et bonne nuit,


Merci, à toi aussi !


ChrisV


"garnote" a écrit dans le message de news:
fyUVb.30113$
Et une variante pour la rigolade :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Cells.Validation
.Delete
.Add Type:=xlValidateInputOnly
.InputMessage = Now
.ShowInput = True
End With
End Sub

Serge

"ChrisV" a écrit dans le message de news:
#
Bonjour Steph,

Si tu souhaites un comportement comme la validation de données...
en supposant que la cellule qui doit contenir le message est: A5

Dans la feuille de code de l'onglet concerné...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With [A5].Validation
.Delete
.Add Type:=xlValidateInputOnly
.InputMessage = [A1] & " - " & [A2]
.ShowInput = True
End With
End Sub

On pourrait peut être aussi envisager l'insertion d'un commentaire
(celui


avec la petit coin rouge...) avec mise à jour automatique en
fonction




du
contenu des cellules A1 et A2...


ChrisV


"Steph" a écrit dans le message de news:
4027c2ef$0$7040$
Bonjour,

Y a t'il moyen lors d'un passage sur une cellule d'afficher un
message




genre
"Message de saisie"
(dans DONNEES - VALIDATION - MESSAGE DE SAISIE - quand la cellule
est




sélectionnée)
un message qui serais la valeur de la cellule A1 suivi d'un tiret
et





de
la
valeur de la cellule A2.

Je ne souhaite pas de MsgBOX si possible.

Merci pour votre aide

Steph




















Avatar
Michel Pierron
Autre méthode qui autorise plus de 255 acractères:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
ActiveSheet.OLEObjects("lbl1").Delete
If Not Target.Address = "$D$3" Then Exit Sub
Dim ObjLabel As Object
Application.ScreenUpdating = False
Set ObjLabel = ActiveSheet.OLEObjects.Add("Forms.Label.1")
With ObjLabel
.Name = "lbl1"
.Top = [D4].Top + 2
.Left = [E3].Left + 2
.Object.Font.Size = 8
.Object.BorderStyle = 0
.Object.BackStyle = 1
'.Object.BackColor = &H80000018
.Height = 20
.Width = 80
.Object.Caption = [A1] & "-" & [A2]
.Object.AutoSize = True
End With
Set ObjLabel = Nothing
End Sub

MP

"Alain CROS" a écrit dans le message de
news:
Bonjour.

Pour un emplacement précis, il faut le calculer puis utiliser ça.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$D$3" Then
With [D3]
.AddComment
With .Comment
.Text "Information :" & Chr$(10&) & [A1] & "-" & [A2]
With .Shape
.OLEFormat.Object.AutoSize = True
.IncrementTop (30!)
.IncrementLeft (-100!)
End With
.Visible = True
End With
End With
Else
[D3].ClearComments
End If
End Sub

Alain CROS.

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


Bonjour Garnote,

A ) Quant à faire, tu aurais pu ajouter cette ligne de code à ta procédure
... question de limiter la taille du commentaire


:

.Comment.Shape.OLEFormat.Object.AutoSize = True

B ) Comment arrives-tu à afficher ton commentaire à un emplacement précis de
ta feuille ?



;-))



Salutations!



"garnote" a écrit dans le message de
news:AsSVb.30095$


Prudent de rajouter «On Error Resume Next» au début :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$D$3" Then
texte = [A1] & "-" & [A2]
With [D3]
.AddComment
.Comment.Visible = True
.Comment.Text Text:="Information :" & Chr(10) & texte
End With
Else
[D3].ClearComments
End If
End Sub

Serge









1 2