Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Francky79

XLDnaute Occasionnel
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…