XL 2010 Sélection cellule active plus cellules adjacentes par double clic

Francky79

XLDnaute Junior
Bonjour le forum,

Avec le code ci-dessous de Rhysand ( merci à lui) je peux sélectionner la cellule active dans la colonne B pour mettre sa valeur en en F6,
Est il possible de sélectionner en même temps les valeurs des colonnes C et D de la même ligne pour les mettre en C6 et D6 ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim i As Integer

If Target.Column = 2 Then
For i = 15 To 70
If Target.Row = i Then
Range("F6").Value = ActiveCell.Value
Else
'Cancel = True
End If
Next i
End If

End Sub

Meric de votre aide,
 
Solution
Bonjour Francky,
Essayez cela :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Integer
If Target.Column = 2 Then
    For i = 15 To 70
        If Target.Row = i Then
            [F6] = ActiveCell.Value
            [C6] = Cells(Target.Row, "C")
            [D6] = Cells(Target.Row, "D")
        End If
    Next i
End If
End Sub

Je ne comprends pas l'utilité de i ? Pourquoi pas :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 Then
    [F6] = ActiveCell.Value
    [C6] = Cells(Target.Row, "C")
    [D6] = Cells(Target.Row, "D")
End If
End Sub
Est ce lié au reste de votre code ?

NB : Pour le code utilisez les balises </>, c'est plus lisible.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Francky,
Essayez cela :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Integer
If Target.Column = 2 Then
    For i = 15 To 70
        If Target.Row = i Then
            [F6] = ActiveCell.Value
            [C6] = Cells(Target.Row, "C")
            [D6] = Cells(Target.Row, "D")
        End If
    Next i
End If
End Sub

Je ne comprends pas l'utilité de i ? Pourquoi pas :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 Then
    [F6] = ActiveCell.Value
    [C6] = Cells(Target.Row, "C")
    [D6] = Cells(Target.Row, "D")
End If
End Sub
Est ce lié au reste de votre code ?

NB : Pour le code utilisez les balises </>, c'est plus lisible.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Pour limiter la zone, alors utilisez :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B15:B70")) Is Nothing Then
        [F6] = Target.Value
        [C6] = Cells(Target.Row, "C")
        [D6] = Cells(Target.Row, "D")
    End If
End Sub
Ici la zone active est limitée à B15:B70.
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
187

Statistiques des forums

Discussions
292 981
Messages
1 927 687
Membres
183 587
dernier inscrit
loulou1338