Macro pour incrémenter une texte par click, dans une colonne...

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais votre aide en VBA pour écrire une macro.
Cette macro devra placer un texte, par click, dans une colonne et l'effacer par un autre click...

voir fichier joint,

Merci pour le temps que vous voudrez bien vouloir m'accorder.

Bien amicalement.
Christian
 

Pièces jointes

  • Macro pour incrémenter un texte par click....xlsm
    10.7 KB · Affichages: 21

thebenoit59

XLDnaute Accro
Re : Macro pour incrémenter une texte par click, dans une colonne...

Bonjour Christian.

Alors je ne sais pas s'il existe la possibilité de le faire avec un Clique simple, je te propose une solution avec double clique.

Code:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("a5:a" & [c65000].End(xlUp).Row)) Is Nothing Then
    If Target.Value = "" Then
        If Target.Offset(, 2).Value Like "*Devis*" Then
            Target.Value = "Devis accepté"
            Else: Target.Value = "Facture réglée"
        End If
    Else: Target.ClearContents
    End If
    Cancel = True
End If
End Sub

Code à insérer dans la feuille Archives.
J'ai mis Target.Value Like "*Devis*", car je me suis rendu compte que tes valeurs Devis peuvent comporter des espaces.
 

Christian0258

XLDnaute Accro
Re : Macro pour incrémenter une texte par click, dans une colonne...

Re, le forum, thebenoit59,

Je reviens vers vous, pour une petite amélioration du code de thebenoit59 que je remercie à nouveau.

Voir explications dans ce fichier V02

Merci pour votre aide.
Bien amicalement,
Christian
 

Pièces jointes

  • Macro pour incrémenter un texte par click...V02.xlsm
    18.8 KB · Affichages: 30

JCGL

XLDnaute Barbatruc
Re : Macro pour incrémenter une texte par click, dans une colonne...

Bonjour à tous,
Salut Christian,

Peux-tu essayer :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)    'macro de thebenoit 59
    If Not Application.Intersect(Target, Range("A5:A" & [C65000].End(xlUp).Row)) Is Nothing Then
        If Target.Value = "" Then
            If Target.Offset(, 2).Value Like "*Devis*" Then
'Cells(Target.Row, 137) = "X"
 Cells(Target.Row, 137).Select
                Target.Value = "Devis accepté"
            Else: Target.Value = "Facture réglée"
            End If
        Else: Target.ClearContents: Cells(Target.Row, 137) = ""
        End If
        Cancel = True
    End If
End Sub

A++
A+ à tous
 
Dernière édition:

thebenoit59

XLDnaute Accro
Re : Macro pour incrémenter une texte par click, dans une colonne...

Bonsoir Jean-Claude, re-bonsoir Christian.

Une possibilité pour entrer un acompte via un InputBox :

Code:
            If Target.Offset(, 2).Value Like "*Devis*" Then
                Target.Value = "Devis accepté"
                Target.Offset(, 136).Value = InputBox("Ajouter un acompte ?", "Acompte")
            Else: Target.Value = "Facture réglée"
 

Discussions similaires

Statistiques des forums

Discussions
311 741
Messages
2 082 055
Membres
101 882
dernier inscrit
XaK_