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

click et somme

5 réponses
Avatar
STEPH B
Bonjour,
je dispose de tableaux qui contiennent des chiffres et des cellules en
format texte sur une feuille excel de la colonne A à I

je voudrais que lorsque je click sur une cellule et que celle ci contient un
chiffre le chiffre est copié sur la colonne K en partant de K1

si on veut un peu compliquer la chose si j osais, partant du meme principe,
lorsque je click sur plusieurs cellules et que celles-ci contiennent un
chiffre il me mets le cumul des chiffres K1 K2 K3 etc....de chaque cellule
clikées.

et si on veut pousser le bouchon super loin lorsque je click 2 fois sur une
meme cellule il me supprime de la colonne K le chiffre qu'il a copié
correspondant.

euh j 'espère avoir été clair dans mes propos et merci d avance

5 réponses

Avatar
FFO
Salut à toi

Dans le VBA de ta feuille mets ces 2 codes :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column >= 1 And Target.Column <= 9 Then
On Error Resume Next
Ligne = 0
Ligne = Columns("K:K").Find(What:=Target, After:=Range("K1"),
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne = 0 Then
Selection.Copy Range("K65535").End(xlUp).Offset(1, 0)
End If
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Ligne = 0
Ligne = Columns("K:K").Find(What:=Target, After:=Range("K1"),
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne > 0 Then
Range("K" & Ligne).ClearContents
End If
End Sub

Celà devrait fonctionner

Fais des essais et dis moi !!!!!
Avatar
STEPH B
Bonjour
merci de ta réponse mais désolé ca marche pas.



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

Salut à toi

Dans le VBA de ta feuille mets ces 2 codes :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column >= 1 And Target.Column <= 9 Then
On Error Resume Next
Ligne = 0
Ligne = Columns("K:K").Find(What:=Target, After:=Range("K1"),
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne = 0 Then
Selection.Copy Range("K65535").End(xlUp).Offset(1, 0)
End If
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Ligne = 0
Ligne = Columns("K:K").Find(What:=Target, After:=Range("K1"),
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne > 0 Then
Range("K" & Ligne).ClearContents
End If
End Sub

Celà devrait fonctionner

Fais des essais et dis moi !!!!!
Avatar
michel ou sam
pour le simple clic

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column >= 1 And Target.Column <= 9 Then
If IsNumeric(Selection) And Not (IsEmpty(Selection)) Then
valeur = Selection * 1
Range("K65535").End(xlUp).Offset(1, 0).Value = valeur
End If
End If
End Sub

pour le double-clic , j'ai un pb car la selection change et du coup le
simple clic remplit sa fonction

L'hitoire du cumul des chiffres K1 K2 K3 etc....de chaque cellule n'est pas
clair

Michel

"STEPH B" a écrit dans le message de news:
4c8121c0$0$10200$


Bonjour
merci de ta réponse mais désolé ca marche pas.



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

Salut à toi

Dans le VBA de ta feuille mets ces 2 codes :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column >= 1 And Target.Column <= 9 Then
On Error Resume Next
Ligne = 0
Ligne = Columns("K:K").Find(What:=Target, After:=Range("K1"),
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne = 0 Then
Selection.Copy Range("K65535").End(xlUp).Offset(1, 0)
End If
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Ligne = 0
Ligne = Columns("K:K").Find(What:=Target, After:=Range("K1"),
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne > 0 Then
Range("K" & Ligne).ClearContents
End If
End Sub

Celà devrait fonctionner

Fais des essais et dis moi !!!!!

Avatar
michel ou sam
voici la somme pour un ensemble de cellules sélectionnées

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Selection.Column >= 1 And Selection.Column <= 9 Then
valeur = 0
flag = 0
For Each cellule In Selection
If IsNumeric(cellule) And Not (IsEmpty(cellule)) Then
valeur = valeur + cellule * 1
flag = 1
End If
Next cellule
If flag = 1 Then
Range("K65535").End(xlUp).Offset(1, 0).Value = valeur
End If
End If
End Sub

Attention, toutes les cellules de la selection sont prises en compte même si
la selection déborde de la colonne I

Michel

"michel ou sam" a écrit dans le message de news:
4c812d1a$0$10211$
pour le simple clic

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column >= 1 And Target.Column <= 9 Then
If IsNumeric(Selection) And Not (IsEmpty(Selection)) Then
valeur = Selection * 1
Range("K65535").End(xlUp).Offset(1, 0).Value = valeur
End If
End If
End Sub

pour le double-clic , j'ai un pb car la selection change et du coup le
simple clic remplit sa fonction

L'hitoire du cumul des chiffres K1 K2 K3 etc....de chaque cellule n'est
pas clair

Michel

"STEPH B" a écrit dans le message de news:
4c8121c0$0$10200$


Bonjour
merci de ta réponse mais désolé ca marche pas.



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

Salut à toi

Dans le VBA de ta feuille mets ces 2 codes :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column >= 1 And Target.Column <= 9 Then
On Error Resume Next
Ligne = 0
Ligne = Columns("K:K").Find(What:=Target, After:=Range("K1"),
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne = 0 Then
Selection.Copy Range("K65535").End(xlUp).Offset(1, 0)
End If
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Ligne = 0
Ligne = Columns("K:K").Find(What:=Target, After:=Range("K1"),
LookIn:=xlValues, LookAt:=xlWhole).Row
If Ligne > 0 Then
Range("K" & Ligne).ClearContents
End If
End Sub

Celà devrait fonctionner

Fais des essais et dis moi !!!!!





Avatar
FFO
Rebonjour à toi

Sans donnée confidentielle peux tu me transmettre ton fichier par ce
biais : http://www.cijoint.fr/index.php

Communiques moi le lien pour le récupérer

Merci