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 !
bonsoir,
je realise un tableau permettant de gerer les augmentations salariales. Mon pb est le suivant :
A1 => salaire
B1 => augmentation en pourcentage
C1 => augmentation en valeur reelle
j'aimerai laisser la possibilite a mes petits chefs de :
soit remplir la cellule B1 et que cela calcule C1
soit remplir la cellule C1 et que cela calcule B1
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Application.EnableEvents = False
Target.Offset(0, 1) = Target.Offset(0, -1) * Target
Application.EnableEvents = True
End If
If Target.Address = "$C$1" Then
Application.EnableEvents = False
Target.Offset(0, -1) = Target / Target.Offset(0, -2)
Application.EnableEvents = True
End If
End Sub
ou
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Application.EnableEvents = False
Target.Offset(0, 1).FormulaR1C1 = "=RC[-2]*RC[-1]"
Application.EnableEvents = True
End If
If Target.Address = "$C$1" Then
Application.EnableEvents = False
Target.Offset(0, -1).FormulaR1C1 = "=RC[1]/RC[-1]"
Application.EnableEvents = True
End If
End Sub
Si tu me dis ton nom, je peux faire en sorte, que lorsque ton patron met ton nom dans le fichier, quelque soit l'augmentation qu'il t'octroieras, la macro mettra +25% d'office 😉
merci pour vos reponses simplement je ne connais pas le langage vba et je suis incapable de modifier qqchose la dedans. en l'occurence, sur la deuxieme reponse, je cherche la valeur de l'augmentation et non le salaire + l'augmentation.
Pas la peine, la macro s'occupe de tout. Je n'avais colorié que les x premières lignes "zone de saisie", mais en faite, la macro géré toutes les lignes, jusqu'à la 65.536ème (je n'ai donc rien touché à ce niveau - juste colorié les cellules du dessous et refait les bordures).
sopcz à dit:
merci pour l'augmentation de 25% mais 25% de pas grand chose, ca fait pas grand chose...
merci pour vos reponses simplement je ne connais pas le langage vba et je suis incapable de modifier qqchose la dedans. en l'occurence, sur la deuxieme reponse, je cherche la valeur de l'augmentation et non le salaire + l'augmentation.
[COLOR="Blue"]Private Sub Worksheet_Change(ByVal Target As Range)[/COLOR]
' Macro enregistrée par Excel-lent
[COLOR="Blue"][I] If Target.[B]Column[/B] = [B]2[/B] Then[/I][/COLOR]
[COLOR="Red"] Cells([B]Target.Row, 3[/B]) = Cells([I]Target.Row, 1[/I]) * ([U]Cells(Target.Row, 2)[/U] / 100)[/COLOR]
End If
[COLOR="Orange"] If Target.[B]Column[/B] = [B]3[/B] Then[/COLOR]
[COLOR="Orange"][I] [U]Cells(Target.Row, 2)[/U] = [B]Cells(Target.Row, 3)[/B] / [B][U]Cells(Target.Row, 1)[/U][/B] * 100[/I][/COLOR]
End If
End Sub
Voici son explication : La macro se déclenchera à chaque fois que tu saisiras une nouvelle valeur sur la feuille : "Feuil1".
Si la saisie a eu lieu dans la seconde colonne alors ...
... alors écrire dans la cellule : colonne C, ligne : celle où à eu lieu la saisie le résultat de la formule ci-dessous :
= Cellule(colonne A, ligne où à eu lieu la saisie) * Cellule(colonne B, ligne où à eu lieu la saisie) / 100
Si la saisie a eu lieu dans la troisième colonne alors ...
... alors écrire dans la cellule : colonne B, ligne : celle où à eu lieu la saisie le résultat de la formule :
=>= Cellule(colonne C, ligne où à eu lieu la saisie) / Cellule(colonne A, ligne où à eu lieu la saisie) * 100
j'ai vraiment besoin d'une formation visual basic. j'ai encore une petite question : comment dois je faire pour recopier la macro sur d'autre colonne ? car cette feuille va evoluer d'annee en annee en gardant l'historique des augmentations.
Dans la colonne pourcentage, pour 13.32% il faut saisir 13.32. Ne sachant pas ce que tu avais fais, j'ai essayé en saisissant 13.32%, il n'y a pas de message d'erreur!
Par contre évidement le résultat obtenu est faux mais pas batard!
Notice :
-> saisir en premier le salaire dans la colonne A
-> saisir le % dans la colonne B, ou le montant de l'augmentation dans la colonne C
-> la colonne restante se calcul automatiquement
Le seul soucis rencontré est que je n'ai pas copier coller le format des cellules jusqu'en bas! A partir de la 40ème environ, les chiffres dans la colonne B ne sont plus au format # ##0,00 mais au format standard
sopcz à dit:
comment dois je faire pour recopier la macro sur d'autre colonne ? car cette feuille va evoluer d'annee en annee en gardant l'historique des augmentations.
Dans le cas où tu ne change pas de feuilles pour chaque année :
-> 2009 : les colonnes : A-B-C
-> 2010 : les colonnes : E-F-G
-> 2001 : les colonnes : I-J-K
-> ...
Pas la peine de recopier la macro, il suffit juste de la modifier!
Macro présente dans le fichier envoyé précédemment :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
' Macro enregistrée par Excel-lent
If Target.Column = [COLOR="Gray"][B]2[/B][/COLOR] Then
Cells(Target.Row, [COLOR="Red"][B]3[/B][/COLOR]) = Cells(Target.Row, [COLOR="Blue"][B]1[/B][/COLOR]) * (Cells(Target.Row, [COLOR="Gray"][B]2[/B][/COLOR]) / 100)
End If
If Target.Column = [COLOR="Red"][B]3[/B][/COLOR] Then
Cells(Target.Row, [COLOR="Gray"][B]2[/B][/COLOR]) = Cells(Target.Row, [COLOR="Red"][B]3[/B][/COLOR]) / Cells(Target.Row, [COLOR="Blue"][B]1[/B][/COLOR]) * 100
End If
End Sub
Les chiffres suivants signifie 1 : la première colonne - colonne A - "Salaire" (dans l'exemple ci-dessus à remplacer par 5) 2 : la seconde colonne - colonne B - "Augmentation en %" (dans l'exemple ci-dessus à remplacer par 6) 3 : la troisième colonne - colonne C - "Augmentation en valeur réelle" (dans l'exemple ci-dessus à remplacer par 7)
Sinon si tu fais un onglet par année, l'idéal est :
-> nommé l'onglet déjà fait : "2009"
-> le "duppliquer" ("Edition"/"Déplacer ou copier une feuille..."/cocher "créer une copie)
-> puis nommer ce nouvelle onglet "2010".
En faisant ainsi, sans t'en apercevoir tu duplique également le code sur le nouvelle onglet. Bref RIEN à faire concernant la macro.
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.