Forum Clubic

Comment copier une cellule dans une autre au moment où on la sélectionne ?

j’ai un tableau de compta dans excel sur 3 colonnes A,B,C, ou en C figure le montant des dépenses. Je veux ventiler mes dépenses dans différents chapitres affectés aux colonnes suivantes pour en faire le total en bas. Par exemple la colone D comprendra les dépenses affectées a l’alimentation, en colonne E, celle de l’habillement, etc… En temps normal, je copie le cellule C16 par exemple et je la colle en D16, sur la même ligne. Sur 50 lignes, ça prend du temps…! N’existe-t-il pas une petite programmation en VBA pour que la valeur de C16 se copie en D16 simplement lorsque je sélectionne la cellule D16 ou que je clique dessus ? Et pareil bien sûr pour les autre cellules des autres colonnes de ventilation (E,F,G…)
Merci beaucoup

tu crées 3 boutons avec la boite à outil VBA

un dans la colonne D, un dans E, un dans F

puis tu appliques le code suivant :


Private Sub CommandButton1_Click()


a = ActiveCell.Row
Range("D" & a).FormulaR1C1 = ActiveCell.Value
Range("C" & a).Select

End Sub

Private Sub CommandButton2_Click()

a = ActiveCell.Row
Range("E" & a).FormulaR1C1 = ActiveCell.Value
Range("C" & a).Select

End Sub

Private Sub CommandButton3_Click()

a = ActiveCell.Row
Range("F" & a).FormulaR1C1 = ActiveCell.Value
Range("C" & a).Select


End Sub

tu quittes le mode édition

pour le fonctionnement

tu sélectionnes une dépense dans la colonne D, puis tu cliques sur l’un des trois boutons, et la dépense va s’inscrire dans la colonne choisi.

Avec un clic simple, c’est un peu risqué, mais avec un double clic sur la cellule cible, tu peux y recopier la valeur correspondante de la colonne C :
Tu vas dans l’éditeur VBA et tu cliques sur Feuil1
Ensuite, tu choisis la fonction Worksheet_BeforeDoubleClick()
tu n’as plus qu’à lui mettre
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target = Cells(Target.Row, 2)
End Sub

on suppose ici que la source est sur la même ligne en colonne C, sinon tu remplaces 3 par l’index de la colonne qui t’intéresse