Après un double clic en D1 ajouter "+1" au texte de G1

anthoYS

XLDnaute Barbatruc
bonjour,


voici le code actuel :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Target.Address = "$D$1:$F$1" Then Target.Value = Date: Cancel = True
If Not Application.Intersect(Target, Range("G:G")) Is Nothing And IsEmpty(Target) Then
Range("B4:B10").ClearContents
Range("B13:B20").ClearContents
Range("D1:F1").ClearContents
End If
Cancel = True
End Sub

comment le modifier de sorte à ce que chaque nouveau double clic en D1 ajoute en G1 : "VI90" +1.
(si je double clique, aujourd'hui se fige et ajoute "+1" soit "VI91") ?

merci
++
 
C

Compte Supprimé 979

Guest
Re : Après un double clic en D1 ajouter "+1" au texte de G1

Salut anthoYS ;)

Voici le code avec quelques commentaires
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  Dim Inc As Integer, sTxt As String, sIni As String
  ' Cette instruction n'est pas correcte, puisqu'il est impossible de faire un double clique sur une Zone
   'If Target.Address = "$D$1:$F$1" Then Target.Value = Date: Cancel = True
  ' Si el double clique c'est fait en D1
  If Target.Address(0, 0) = "D1" Then
    sTxt = Range("G1").Value
    ' Récupérer les 2 premières lettres du code
    sIni = Left(sTxt, 2)
    ' incrémenter de 1 la valeur du code
    Inc = Right(sTxt, Len(sTxt) - 2) + 1
    ' Inscrire la nouvelle valeur
    Range("G1").Value = sIni & Format(Inc, "00")
  End If
  If Not Application.Intersect(Target, Range("G:G")) Is Nothing And IsEmpty(Target) Then
    Range("B4:B10").ClearContents
    Range("B13:B20").ClearContents
    Range("D1:F1").ClearContents
  End If
  Cancel = True
End Sub

A+
 
Dernière modification par un modérateur:

anthoYS

XLDnaute Barbatruc
Re : Après un double clic en D1 ajouter "+1" au texte de G1

Re,

Il faut mettre la première ligne en commentaire, désolé de ne pas l'avoir fait

A+

re,


je ne te comprends pas ;

maintenant j'ai séparé les deux premières lignes mais un double clic en D1 n'ajoute pas +1 en G1.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)Dim Inc As Integer, sTxt As String, sIni As String
  ' Cette instruction n'est pas correcte, puisqu'il est impossible de faire un double clique sur une Zone
  If Target.Address = "$D$1:$F$1" Then Target.Value = Date: Cancel = True
  ' Si el double clique c'est fait en D1
  If Target.Address(0, 0) = "D1" Then
    sTxt = Range("G1").Value
    ' Récupérer les 2 premières lettres du code
    sIni = Left(sTxt, 2)
    ' incrémenter de 1 la valeur du code
    Inc = Right(sTxt, Len(sTxt) - 2) + 1
    ' Inscrire la nouvelle valeur
    Range("G1").Value = sIni & Format(Inc, "00")
  End If
  If Not Application.Intersect(Target, Range("G:G")) Is Nothing And IsEmpty(Target) Then
    Range("B4:B10").ClearContents
    Range("B13:B20").ClearContents
    Range("D1:F1").ClearContents
  End If
  Cancel = True
End Sub

qu'est-ce qui cloche ?


merci
++
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Après un double clic en D1 ajouter "+1" au texte de G1

Bonjour à tous

voir fichier joint qui répond à la question:
comment le modifier de sorte à ce que chaque nouveau double clic en D1 ajoute en G1 : "VI90" +1.


à+
Philippe
 

Pièces jointes

  • 111.xls
    45.5 KB · Affichages: 46
  • 111.xls
    45.5 KB · Affichages: 53
  • 111.xls
    45.5 KB · Affichages: 52

Si...

XLDnaute Barbatruc
Re : Après un double clic en D1 ajouter "+1" au texte de G1

salut

Si... G1 commence par 2 lettres (qui peuvent changer), cela devrait suffire
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal C As Range, Cancel As Boolean)
  If C.Address = "$D$1" Then
    C = Date
    [G1] = Left([G1], 2) & Format(Right([G1], Len([G1]) - 2) + 1, "00")
  End If
  If C.Column = 7 And C = "" Then Range("B4:B10,B13:B20,D1:F1").ClearContents
  Cancel = True
End Sub Sub
 
C

Compte Supprimé 979

Guest
Re : Après un double clic en D1 ajouter "+1" au texte de G1

Re tous,

L'éternel problème des cellules fusionnées :(

Par rapport à mon code, la ligne de test est celle-ci
Code:
If Target.Address(0, 0) = "D1:F1" Then

A+
 

Si...

XLDnaute Barbatruc
Re : Après un double clic en D1 ajouter "+1" au texte de G1

re tous

et par rapport au mien :
If C.Address = "$D$1:$F$1" Then

Remarque : je ne suis pas pour multiplier le nombre de variables* surtout quand elles ne sont utilisées qu'une fois et dans ce dernier cas, sauf si leur nom permet d'éviter des textes longs.

* d'autant plus que je m’astreins à les déclarer !
 

Discussions similaires

Réponses
1
Affichages
239

Statistiques des forums

Discussions
312 158
Messages
2 085 831
Membres
102 997
dernier inscrit
sedpo