![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
le Forum gestion de compte. est ce que excel peux effectue un calcul automatiquement (ex: retrait) à une date donnée dans le mois . ex: excel execute un retrait automatique de ces sommes tous les 29 du mois. Dure, dure !!!! merci,@ plus petchy |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
Bonjour, étant donné que tu n'as pas précisé si tu voulais que le calcul se fasse par une macro ou une formule, je te communique l'astuce suivante :
=SI(JOUR(AUJOURDHUI())=29;"oui";"non") Dans le cas présent, il faudra que tu ouvres Excel tous les 29 du mois pour que la formule puisse fonctionner. |
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
Salut le forum,
Si tu souhaites le faire en macro il faut que tu fasses une macro évenementielle à l'ouverture testant le jour If Day(Date) = 29 Mais en plus il faudra tester si tu n'as pas déjà effetué l'opération du style recherche de la date et vérification des cellules adjacentes. Private Sub Workbook_Open() Dim CELLULE As Range, TROUVE As Boolean If Day(Date) = 29 Then TROUVE = False For Each CELLULE In Feuil1.Range("A1:A" & Range("A1").End(xlDown).Row) If CELLULE = Date And CELLULE.Offset(0, 1) = "Crédit" Then TROUVE = True End If Next If Not TROUVE Then Set CELLULE = Feuil1.Range("A1").End(xlDown).Offset(1, 0) CELLULE = Date CELLULE.Offset(0, 1) = "Crédit" CELLULE.Offset(0, 2) = 135.2 End If End If End Sub Rm : ATTENTION A FEVRIER pas de 29!! @ bientôt Valérie |
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir le Forum,
pour les réponses Valérie et Ronan Quennec,je prends la soluce de Valérie une derniere question: dans ton code les lignes se décalent vers le bas,peut on faire l'inverse j'ai essayer ce code mais vba n'en veut pas : Selection.Insert Shift:=xlDown @ plus petchy |
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
Salut le Forum et petchy,
Super le MERCI gigotant!! J'imagine que tu as une ligne de titres et que tu souhaites placer ta nouvelle ligne en dessous Tu peux écrire la syntaxe suivante (1 correspondant à la ligne de titre) Range("A2").EntireRow.Insert avant de placer tes valeurs sinon dis moi ce que tu veux faire exactement @ bientôt Valérie |
|
|
#6 (permalink) |
|
Guest
Messages: n/a
|
salut Valérie et le forum
quand je place ta ligne de commande il ne se passe rien,se que je voudrais c'est placer cette ligne "Selection.Insert Shift:=xlDown" car elle se decale vers le haut.en fait je ne sais pas si je suis clair For Each CELLULE In Feuil1.Range("A1:A" & Range("A1").End(xlDown).Row) Set CELLULE = Feuil1.Range("A1").End(xlDown).Offset(1, 0) merci,@ plus petchy ![]() |
|
|
#7 (permalink) |
|
Guest
Messages: n/a
|
salut Petchy et le forum,
J'ai loupé un truc je comprnd pas ce que tu veux, peux-tu m'envoyer dans ma BAL because off FORUM malade, un exemple de ce que tu veux et je te développe ce que tu attends mais sans cela dur dur C ientot le vikend et je fatigue!! ![]() @+ Valérie |
|
|
#9 (permalink) |
|
Guest
Messages: n/a
|
Salut Petchy,
Ci-joint le code te permettant de créer ta ligne pour les crédit sous la forme de ton fichier (sympa d'ailleurs mais j'ai eu un pb avec UserForm4 qui me provoquait une erreur FATALE!!) Ceci dit : Private Sub workbook_open() Dim CELLULE As Range, TROUVE As Boolean If Day(Date) = 17 Then 'A la place de 17 ta date TROUVE = False For Each CELLULE In Feuil2.Range("A3:A" & Range("A65536").End(xlUp).Row) If CELLULE = Date And CELLULE.Offset(0, 1) = "REMBT. EMPRUNT" Then TROUVE = True 'Test si la ligne existe déjà Next If Not TROUVE Then 'Mise en place des valeurs si la ligne n'existe pas With Feuil2.Range("A3") .EntireRow.Insert .Value = Date .Offset(0, 1) = "REMBT. EMPRUNT" .Offset(0, 2) = 100 End With End If Application.CommandBars("Standard").Visible = False Application.DisplayFormulaBar = False Application.CommandBars("Formatting").Visible = False End If End Sub J'espère que c'est ce que tu attendais, à bientôt Valérie |
| Liens sociaux |
| Outils de la discussion | |
|
|