Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

saisir pourcentage à l'avancée du chantier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

matteo0701

XLDnaute Junior
bonjour,

le titre ne veut rien dire car je ne sais pas tro comment formuler ma demande

bref, je vais essayer.

Je souhaite payer un fournisseur en fonction de l'avancée du chantier.

jour 1 15 % et jour 2 30 % par exemple.

Je vousrais qu'en arrivant sur mon tableau le 2eme jour je n'ai qu'a saisir les 30 % en ayant garder en memoire mon 1er paiement de 15 % .

Le tableau ci joint est je l'espere plus clair

merci par avance
 

Pièces jointes

Re : saisir pourcentage à l'avancée du chantier

bonjour,

je savais que je n'étais pas clair.
c'est presque ca sauf que je ne voudrais pas plusieurs ligne.

j'essaie de préciser ma demande (elle figure aussi sur le fichier ci joint

une fois la 2eme phase de travaux terminé, je vais payer mon artisant 30 % de plus. Je voudrais saisir le % de 30 % dans la case D3 pour que cela me calcule le montant de ma reception du jour mais que cela incremente aussi la case F3 (qui sera alors de 45 % 15+30) puis la case G3 etc
 

Pièces jointes

Re : saisir pourcentage à l'avancée du chantier

tu as compris ma demande c'est deja un exploit (vu ma question tordue)

dans ton fichier tu ajoute des colonnes a chaque phase. J'en voulais une seule avec par exemple un bouton qui efface la cellule D15 sans pour autant perdre les données des colonnes N3 à Q3
 
Re : saisir pourcentage à l'avancée du chantier

Re,

J'avais bien compris ta demande, et pour faire ce que tu souhaites, il me semble que seul une macro puisse le faire, malheureusement je suis novice dans le domaine. C'est pour cela que je t'ai proposer cette solution intermédiaire. Mais si ma proposition peut aider à la comprehension de ton probleme et qu'un vbaiste sache mettre ça en macro, tu n'auras pas tout perdu.
A suivre !
 
Re : saisir pourcentage à l'avancée du chantier

ah encore un truc et puis j'en aurais terminé

les calculs se font automatiquement quand je valide ma saisie, mais cela me fait aussi disparaitre le % que je viens de payer. J'aimerais annuler la donnée de cette cellule manuellement (par exemple clic droit comme la cellule du dessus)
 
Re : saisir pourcentage à l'avancée du chantier

re

teste en rajoutant
Code:
Private Sub Worksheet_BeforeRightClick(ByVal R As Range, Cancel As Boolean)
  If R.Address = "$D$3" Then
    Application.EnableEvents = 0
    R = "": Cancel = -1
    Application.EnableEvents = 1
  End If
End Sub

Ce sera avec le clic droit sur [D3] que cette seule cellule sera vidée.
 
Re : saisir pourcentage à l'avancée du chantier

n'y connaissant pas grand chose en macro, est ce que je dois rajoute ce code à la fin de code précedent (si c'est ca cela ne fonctionne pas

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If R.Address = "$D$2" Then [B1] = "": [D3:I3] = "": [D3].Select
End Sub

Private Sub Worksheet_Change(ByVal R As Range)
If R.Address <> "$D$3" Then Exit Sub
Application.EnableEvents = 0
If [H3] > 0 And R > [H3] Then
MsgBox "ne pas dépasser " & [H3] * 100 & " % !", vbCritical, "Saisie invalidée..."
R = ""
Else
[B1] = [B1] + 1
[E3] = [C3] * R
[F3] = [F3] + R
[G3] = [C3] * [F3]
[H3] = 1 - [F3]
[I3] = [C3] - [G3]
R = ""
End If
Application.EnableEvents = 1
If [H3] = 0 Then MsgBox "tout est payé !", vbInformation, "C'est fini...": [D2].Select

End Sub

Private Sub Worksheet_BeforeRightClick(ByVal R As Range, Cancel As Boolean)
If R.Address = "$D$3" Then
Application.EnableEvents = 0
R = "": Cancel = -1
Application.EnableEvents = 1
End If
End Sub
 
Re : saisir pourcentage à l'avancée du chantier

Bonjour,
Bonjour Si... qui semble être en train de boire son café 🙂
Dans la deuxième procédure, met un apostrophe devant la ligne R="" avant le End If (cette ligne devient un commentaire et n'est plus exécutée, elle se colore en vert) et regardes si ça fait ce que tu veux : ce que tu viens de saisir reste affiché tant que tu ne fais pas un clic droit sur la cellule.
VB:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If R.Address = "$D$2" Then [B1] = "": [D3:I3] = "": [D3].Select
End Sub

Private Sub Worksheet_Change(ByVal R As Range)
If R.Address <> "$D$3" Then Exit Sub
Application.EnableEvents = 0
If [H3] > 0 And R > [H3] Then
MsgBox "ne pas dépasser " & [H3] * 100 & " % !", vbCritical, "Saisie invalidée..."
R = ""
Else
[B1] = [B1] + 1
[E3] = [C3] * R
[F3] = [F3] + R
[G3] = [C3] * [F3]
[H3] = 1 - [F3]
[I3] = [C3] - [G3]
'R = ""
End If
Application.EnableEvents = 1
If [H3] = 0 Then MsgBox "tout est payé !", vbInformation, "C'est fini...": [D2].Select

End Sub

Private Sub Worksheet_BeforeRightClick(ByVal R As Range, Cancel As Boolean)
If R.Address = "$D$3" Then
Application.EnableEvents = 0
R = "": Cancel = -1
Application.EnableEvents = 1
End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

F
Réponses
2
Affichages
18 K
Kimadi
K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…