Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

3 actions a partir de before double click

2 réponses
Avatar
gilles
Bonjour à tous
à partir d'une private sub qui met un X ou qui l'enlève, je voudrais
compléter comme suit:
si X dans la cell , elle passe en ""
si la cell est "" ça met X (jusque là c'est le code normal)
s'il y a du texte dans cell:
j'appelle l' onglet FICHE AC et en B10 de cette fiche, je voudrais mettre le
texte de la cell ou j'ai double cliqué, et c'est là que ça marche pas)

ci joint le code qui ne fonctionne pas:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
On Error Resume Next
Dim cell As Range, Nom$, Sht As Worksheet
Nom = cell.Value
If IsEmpty(ActiveCell.Value) Then

ActiveCell.Value = "X"
ElseIf ActiveCell.Value = "X" Then
ActiveCell.Value = "A"
ElseIf ActiveCell.Value <> "X" And ActiveCell.Value <> "" Then
Worksheets("FICHE AC").Select
Range("B10") = Nom
End If
Cancel = True
End Sub

si un(e) puissant cerveau peut solliciter quelques neuronnes pour mon humble
personne, qu'il (elle) soit remercié(e)

gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...

2 réponses

Avatar
patrick
Bonjour,

le code rectifié (les modifs sont precedees de **)
à la variable Nom tu affectes la valeur de Target
qui est la cellule du double click
attention au point devant le range("b10") Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As
Boolean)
On Error Resume Next
Dim cell As Range, Nom$, Sht As Worksheet
** Nom = Target.Value
If IsEmpty(ActiveCell.Value) Then

ActiveCell.Value = "X"
ElseIf ActiveCell.Value = "X" Then
ActiveCell.Value = "A"
ElseIf ActiveCell.Value <> "X" And ActiveCell.Value <> "" Then
Worksheets("FICHE AC").Select
** With ActiveSheet
** .Range("B10") = Nom
** End With
End If
cancel = True
End Sub


@+
patrick

"gilles" a écrit dans le message news:

Bonjour à tous
à partir d'une private sub qui met un X ou qui l'enlève, je voudrais
compléter comme suit:
si X dans la cell , elle passe en ""
si la cell est "" ça met X (jusque là c'est le code normal)
s'il y a du texte dans cell:
j'appelle l' onglet FICHE AC et en B10 de cette fiche, je voudrais mettre
le

texte de la cell ou j'ai double cliqué, et c'est là que ça marche pas)

ci joint le code qui ne fonctionne pas:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
On Error Resume Next
Dim cell As Range, Nom$, Sht As Worksheet
Nom = cell.Value
If IsEmpty(ActiveCell.Value) Then

ActiveCell.Value = "X"
ElseIf ActiveCell.Value = "X" Then
ActiveCell.Value = "A"
ElseIf ActiveCell.Value <> "X" And ActiveCell.Value <> "" Then
Worksheets("FICHE AC").Select
Range("B10") = Nom
End If
Cancel = True
End Sub

si un(e) puissant cerveau peut solliciter quelques neuronnes pour mon
humble

personne, qu'il (elle) soit remercié(e)

gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,

mais à chaque jour suffit sa peine...


Avatar
gilles
bonjour patrick
Nickel
Merci encore pour ton aide et la rapidité de ta réponse
à+
gilles
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonjour,

le code rectifié (les modifs sont precedees de **)
à la variable Nom tu affectes la valeur de Target
qui est la cellule du double click
attention au point devant le range("b10") > Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As
Boolean)
On Error Resume Next
Dim cell As Range, Nom$, Sht As Worksheet
** Nom = Target.Value
If IsEmpty(ActiveCell.Value) Then

ActiveCell.Value = "X"
ElseIf ActiveCell.Value = "X" Then
ActiveCell.Value = "A"
ElseIf ActiveCell.Value <> "X" And ActiveCell.Value <> "" Then
Worksheets("FICHE AC").Select
** With ActiveSheet
** .Range("B10") = Nom
** End With
End If
cancel = True
End Sub


@+
patrick

"gilles" a écrit dans le message news:

Bonjour à tous
à partir d'une private sub qui met un X ou qui l'enlève, je voudrais
compléter comme suit:
si X dans la cell , elle passe en ""
si la cell est "" ça met X (jusque là c'est le code normal)
s'il y a du texte dans cell:
j'appelle l' onglet FICHE AC et en B10 de cette fiche, je voudrais mettre
le

texte de la cell ou j'ai double cliqué, et c'est là que ça marche pas)

ci joint le code qui ne fonctionne pas:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
On Error Resume Next
Dim cell As Range, Nom$, Sht As Worksheet
Nom = cell.Value
If IsEmpty(ActiveCell.Value) Then

ActiveCell.Value = "X"
ElseIf ActiveCell.Value = "X" Then
ActiveCell.Value = "A"
ElseIf ActiveCell.Value <> "X" And ActiveCell.Value <> "" Then
Worksheets("FICHE AC").Select
Range("B10") = Nom
End If
Cancel = True
End Sub

si un(e) puissant cerveau peut solliciter quelques neuronnes pour mon
humble

personne, qu'il (elle) soit remercié(e)

gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,

mais à chaque jour suffit sa peine...