Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais votre aide, écriture VBA ou formule, concernant une façon de saisir des quantités par rapport à une quantité de départ...pas facile à expliquer....voir le fichier joint.

Je vous remercie votre aide et pour le temps que vous voudrez bien vouloir m'accorder.

Bien à vous,
Christian
 

Pièces jointes

  • Désincrémenter une qté au fil des saises...VBA ou Formule.xls
    16 KB · Affichages: 58
  • Désincrémenter une qté au fil des saises...VBA ou Formule.xls
    16 KB · Affichages: 60
  • Désincrémenter une qté au fil des saises...VBA ou Formule.xls
    16 KB · Affichages: 58
Dernière édition:

JHA

XLDnaute Barbatruc
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Bonjour à tous,

Un essai en pièce jointe

JHA
 

Pièces jointes

  • Désincrémenter une qté au fil des saises...VBA ou Formule.xls
    43 KB · Affichages: 67
  • Désincrémenter une qté au fil des saises...VBA ou Formule.xls
    43 KB · Affichages: 68
  • Désincrémenter une qté au fil des saises...VBA ou Formule.xls
    43 KB · Affichages: 63

Christian0258

XLDnaute Accro
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Re, le forum, JHA,

Merci, JHA, pour ton beau boulot, qui fonctionne parfaitement.

Dis-moi, dans le commentaire de la qté restant à saisir, comment àjouter devant le chiffre, l'annotation "Reste à saisir :"

Encore un grand merci.
Bien à toi,
Christian
 

JHA

XLDnaute Barbatruc
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Re,

Clic droit sur l''onglet Feuil1, visualiser le code et changer cette ligne

Code:
Range("D" & Target.Row).AddComment CStr("Reste à saisir " & Range("E" & Target.Row).Value)

JHA
 

gilbert_RGI

XLDnaute Barbatruc
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Bonjour

un truc du genre vous conviendrait-il ? :confused:
 

Pièces jointes

  • Désincrémenter une qté au fil des saises...VBA ou Formule.xls
    83.5 KB · Affichages: 50
  • Désincrémenter une qté au fil des saises...VBA ou Formule.xls
    83.5 KB · Affichages: 50
  • Désincrémenter une qté au fil des saises...VBA ou Formule.xls
    83.5 KB · Affichages: 51

Christian0258

XLDnaute Accro
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Re, le forum, JHA, gilbert RGI,

Merci, JHA, pour tout le boulot et la petite modif demandée.

Gilbert, c'est super de chez super, je vais opter pour ta solution (mais je mets de côté celle de JHA).

Encore un grand merci à vous deux.

Bien amicalement,
Christian
 

Christian0258

XLDnaute Accro
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Re, bonjour à tout le forum, JHA, gilbert

Je souhaiterais, à nouveau, votre intervention afin d'amener une tite modif sur un bout de code de JHA.
voir le fichier joint version2.

Merci pour votre aide si précieuse.

Bien à vous,
Christian
 

Pièces jointes

  • DésincrémenterQté V02.zip
    16.8 KB · Affichages: 36

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Bonjour Christian0258,

Un essai sans code VBA mais avec des validations de données (par formules).

Pour la zone D5 à D16 :
=ET(SOMME($D$5:$D$16)<=$D$1;DECALER(D5;0;-1)<>"")

Pour la zone D17 à D28 :
=ET(SOMME($D$17:$D$28)<=$D$12;DECALER(D17;0;-1)<>"")
 

Pièces jointes

  • DécrémenterQté (formule) v1.xls
    30.5 KB · Affichages: 44
Dernière édition:

Christian0258

XLDnaute Accro
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Re, le forum JHA, Gilbert et mapomme,

Merci également à mapomme pour sa solution très intéressante également.

J'ai à nouveau, et pour la dernière fois...je l'espère...lol, une tite amélioration à vous demander.
voir fichier...

Merci pour tout, à vous tous, vous êtes super.

Bien à vous,
Christian
 

Pièces jointes

  • DésincrémenterQtéV04.zip
    20.7 KB · Affichages: 36

JHA

XLDnaute Barbatruc
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Re,

Peut être comme ceci:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)[D5:D64].ClearComments
If Not Intersect([D5:D64], Target) Is Nothing Then
Range("D" & Target.Row).AddComment CStr(Range("E" & Target.Row).Value)
  For Each C In ActiveSheet.Comments
    C.Shape.TextFrame.AutoSize = True
    C.Shape.AutoShapeType = msoShapeRoundedRectangle
    C.Shape.Fill.ForeColor.SchemeColor = 63 'GRIS
    C.Shape.TextFrame.Characters.Font.ColorIndex = 4 'VERT
  Next C
  End If
[h5:h64].ClearComments
If Not Intersect([h5:h64], Target) Is Nothing Then
Range("h" & Target.Row).AddComment CStr(Range("i" & Target.Row).Value)
  For Each C In ActiveSheet.Comments
    C.Shape.TextFrame.AutoSize = True
    C.Shape.AutoShapeType = msoShapeRoundedRectangle
    C.Shape.Fill.ForeColor.SchemeColor = 63 'GRIS
    C.Shape.TextFrame.Characters.Font.ColorIndex = 4 'VERT
  Next C
  End If
End Sub

JHA
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Bonjour Christian0258,

Le fichier adapté à deux séries de menus ou plus. Pour ajouter une série avec les validations, copier les colonnes d'un menu existant (colonnes B à E ou colonnes F à I) et les coller plus à droite puis éventuellement modifier le nombre de personnes pour le menu rajouté.
 

Pièces jointes

  • DécrémenterQté (formule) v2.xls
    42.5 KB · Affichages: 67

job75

XLDnaute Barbatruc
Re : Désincrémenter une quantité au fil des saisie....VBA ou Formule.

Bonjour à tous,

Je n'avais pas vu ce fil, il est intéressant, voyez ceci :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [D5:D16]) Is Nothing Or Target.Count > 1 Then Exit Sub
If Target(1, 0) = "" Then Exit Sub
Dim v
v = Val([D1]) - Application.Sum([D5:D16])
If Target = "" And v > 0 Then Target = v
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D5:D16]) Is Nothing Or Target.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
Dim v
v = Val([D1]) - Application.Sum([D5:D16])
If Target(1, 0) = "" Then Target = "" Else _
If Val(Target) <= 0 Or v < 0 Then Target = "": Target.Select
End Sub
Il y a contrôle complet des valeurs entrées en D5: D16.

Fichier joint.

A+
 

Pièces jointes

  • Désincrémenter(1).xls
    47 KB · Affichages: 50
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote