Macro pour journal de caisse
Fermé
Crsi68300
Messages postés
7
Date d'inscription
mercredi 20 septembre 2017
Statut
Membre
Dernière intervention
22 septembre 2017
-
Modifié le 20 sept. 2017 à 17:09
Cris68300 Messages postés 104 Date d'inscription dimanche 27 août 2017 Statut Membre Dernière intervention 21 septembre 2018 - 19 janv. 2018 à 15:23
Cris68300 Messages postés 104 Date d'inscription dimanche 27 août 2017 Statut Membre Dernière intervention 21 septembre 2018 - 19 janv. 2018 à 15:23
A voir également:
- Macro pour journal de caisse
- Journal de ma naissance gratuit à imprimer - Télécharger - Histoire & Religion
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro recorder - Télécharger - Confidentialité
64 réponses
Cris68300
Messages postés
104
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
21 septembre 2018
15 nov. 2017 à 18:06
15 nov. 2017 à 18:06
Via,
Je suis en train de m'y perdre...
Ta solution est très logique mais pas si simple à réaliser.
Je te montre si tu veux même si là, dans visual basic j'ai tout chamboulé à force de tout tester dans tout les sens...
https://mon-partage.fr/f/VMyDbhFr/
La macro fonctionne pour l'onglet statistique, mais non dans l'onglet Tableau de bord == Gestion mensuelle.
J'ai un problème de copy.
Cdt,
Cris
Je suis en train de m'y perdre...
Ta solution est très logique mais pas si simple à réaliser.
Je te montre si tu veux même si là, dans visual basic j'ai tout chamboulé à force de tout tester dans tout les sens...
https://mon-partage.fr/f/VMyDbhFr/
La macro fonctionne pour l'onglet statistique, mais non dans l'onglet Tableau de bord == Gestion mensuelle.
J'ai un problème de copy.
Cdt,
Cris
via55
Messages postés
14402
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 avril 2024
2 702
Modifié le 15 nov. 2017 à 18:31
Modifié le 15 nov. 2017 à 18:31
Bonjour Cris,
Je en comprends pas ce que tu veux obtenir avec ta macro, notamment la ligne
With Sheets("Journal de caisse")
If Range("B61") = "JANVIER" Then
Range("B67") = Range("O67").Value
Il n'y a pas de JANVIER en B61 de Journal !
Je pense que tu veux trop compliquer et que tu vas en faire une usine à gaz !
D'autre aprt lorque tu utilises With c'est pour éviter de repéter à chaque fois la feuille mais il ne faut pas oublier le point devant l'instruction devant suivre Sheets()
Dans tes lignes en fin de macro :
With Sheets("STATISTIQUE")
Sheets("STATISTIQUE").Activate
Range("AO65").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
.Range("B60").Select
End With
1) Sheets("STATISTIQUE") devant Activate est inutile puisqu'avant il y a le With don c tu devrait seulement avoir .Activate
2) Par contre après si tu veux sélectionner A065 de Statistiques il manque justement le point devant Range
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
Je en comprends pas ce que tu veux obtenir avec ta macro, notamment la ligne
With Sheets("Journal de caisse")
If Range("B61") = "JANVIER" Then
Range("B67") = Range("O67").Value
Il n'y a pas de JANVIER en B61 de Journal !
Je pense que tu veux trop compliquer et que tu vas en faire une usine à gaz !
D'autre aprt lorque tu utilises With c'est pour éviter de repéter à chaque fois la feuille mais il ne faut pas oublier le point devant l'instruction devant suivre Sheets()
Dans tes lignes en fin de macro :
With Sheets("STATISTIQUE")
Sheets("STATISTIQUE").Activate
Range("AO65").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
.Range("B60").Select
End With
1) Sheets("STATISTIQUE") devant Activate est inutile puisqu'avant il y a le With don c tu devrait seulement avoir .Activate
2) Par contre après si tu veux sélectionner A065 de Statistiques il manque justement le point devant Range
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
Cris68300
Messages postés
104
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
21 septembre 2018
Modifié le 15 nov. 2017 à 19:08
Modifié le 15 nov. 2017 à 19:08
Merci pour ta réponse Via,
J'ai réussi à tout remettre comme je l'avais programmé avant de te poser cette question, comme ça tu y verras plus clair:
https://mon-partage.fr/f/phq9FpUC/
Car je ne pense pas que se soit trop... et le fichier touche à sa fin donc je n'ai presque rien à rajouter.
Là il s'agit du code Feuil10 statistique. commandbutton 2 que j'ai programmé l'autre jour.
C'est fonctionnel.
Je voulais juste faire un lien pour qu'en cliquant sur gestion mensuelle dans le tableau de bord, via usf gestion mensuelle, sa reproduise la même chose.
Je vais regarder car je pense devoir programmer différent en fonction des onglets, mais je te l'envoie juste pour que tu comprennes la base de ce que je voulais faire...
Et je vais y arriver car j'ai gardé en mémoire, au tout début du sujet, que tu m'as dit qu'on peut tout faire avec excel.
En tout cas merci encore.
Très bonne soirée
Cris
J'ai réussi à tout remettre comme je l'avais programmé avant de te poser cette question, comme ça tu y verras plus clair:
https://mon-partage.fr/f/phq9FpUC/
Car je ne pense pas que se soit trop... et le fichier touche à sa fin donc je n'ai presque rien à rajouter.
Là il s'agit du code Feuil10 statistique. commandbutton 2 que j'ai programmé l'autre jour.
C'est fonctionnel.
Je voulais juste faire un lien pour qu'en cliquant sur gestion mensuelle dans le tableau de bord, via usf gestion mensuelle, sa reproduise la même chose.
Je vais regarder car je pense devoir programmer différent en fonction des onglets, mais je te l'envoie juste pour que tu comprennes la base de ce que je voulais faire...
Et je vais y arriver car j'ai gardé en mémoire, au tout début du sujet, que tu m'as dit qu'on peut tout faire avec excel.
En tout cas merci encore.
Très bonne soirée
Cris
via55
Messages postés
14402
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 avril 2024
2 702
>
Cris68300
Messages postés
104
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
21 septembre 2018
15 nov. 2017 à 20:25
15 nov. 2017 à 20:25
Tu ne devrais pas avoir de mal à appliquer une macro similaire mais :
- attention à bien nommer les feuilles et à mettre des Sheets(nom de la feuille) avant les range pour qu'il n'y ait pas de confusion avec la feuille active
- ne pas fermer l'userform avant la fin de la macro sinon la macro ne peut pas lire le mois choisi ou alors mettre en début de macro ce choix dans une variable moischoisi= Comboxbox1 .... puis fermer l'UF et utiliser ensuite la variable dans les IF
- Utiliser des With sheets() pour optimiser mais ne pas oublier les points devant les instructions cincernant cette feuille
Tu peux aussi remplacer avantageusement une série de IF... END IF qui reprennent les mêmes instructions avec seulement une variable ou deux qui changent par un Select Case
Exemple : calculer une taxe (à mettre en D2) en fonction d'un PHT (en B2) et d'un taux (choisi par combo type 1, 2 ou 3 et mis dans une variable letaux :
Select case letaux
case 1
tauxchoisi=20
case 2
tauxchosi=10
case 3
tauxchosi=5
End select
Range("D2") = range("B2") * tauxchosi/100
Cdlmnt
Via
- attention à bien nommer les feuilles et à mettre des Sheets(nom de la feuille) avant les range pour qu'il n'y ait pas de confusion avec la feuille active
- ne pas fermer l'userform avant la fin de la macro sinon la macro ne peut pas lire le mois choisi ou alors mettre en début de macro ce choix dans une variable moischoisi= Comboxbox1 .... puis fermer l'UF et utiliser ensuite la variable dans les IF
- Utiliser des With sheets() pour optimiser mais ne pas oublier les points devant les instructions cincernant cette feuille
Tu peux aussi remplacer avantageusement une série de IF... END IF qui reprennent les mêmes instructions avec seulement une variable ou deux qui changent par un Select Case
Exemple : calculer une taxe (à mettre en D2) en fonction d'un PHT (en B2) et d'un taux (choisi par combo type 1, 2 ou 3 et mis dans une variable letaux :
Select case letaux
case 1
tauxchoisi=20
case 2
tauxchosi=10
case 3
tauxchosi=5
End select
Range("D2") = range("B2") * tauxchosi/100
Cdlmnt
Via
Cris68300
Messages postés
104
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
21 septembre 2018
18 janv. 2018 à 14:45
18 janv. 2018 à 14:45
Bonjour Via, le forum,
J'espère que tu vas bien depuis nos derniers échanges.
Je reviens vers toi car je rencontre un léger problème avec un des codes de programmation que tu m'avais donné...
Je m'explique: J'ai changé le journal de caisse 2017 en 2018. Puis installé le programme chez mon amie qui s'en sert maintenant tous les jours. Mais après avoir changé en 2018. En validant un ticket de caisse, il me faisais un report sur novembre (ex: 6 novembre lorsqu'on étais le 6 janvier).
Ton code:
Ligne = .Columns(2).Find(Date, , , , xlByColumns, xlPrevious).Row
Je l'ai changé en enlevant juste une virgule et c'étais bon.
Seulement là, je suis allé à l'institut car elle me disais que ses chiffres n'étais pas bon. Et lors de la journée de mardi, tous les tickets se sont bien rangés dans janvier et sans savoir pourquoi, 3 tickets se sont mis sur novembre.
Est ce que de ton côté tu arrives à comprendre ce qu'il se passe?
Merci d'avance si tu peux regarder.
Cdlt, Cris
https://mon-partage.fr/f/80utE4tX/
UseForm3
J'espère que tu vas bien depuis nos derniers échanges.
Je reviens vers toi car je rencontre un léger problème avec un des codes de programmation que tu m'avais donné...
Je m'explique: J'ai changé le journal de caisse 2017 en 2018. Puis installé le programme chez mon amie qui s'en sert maintenant tous les jours. Mais après avoir changé en 2018. En validant un ticket de caisse, il me faisais un report sur novembre (ex: 6 novembre lorsqu'on étais le 6 janvier).
Ton code:
Ligne = .Columns(2).Find(Date, , , , xlByColumns, xlPrevious).Row
Je l'ai changé en enlevant juste une virgule et c'étais bon.
Seulement là, je suis allé à l'institut car elle me disais que ses chiffres n'étais pas bon. Et lors de la journée de mardi, tous les tickets se sont bien rangés dans janvier et sans savoir pourquoi, 3 tickets se sont mis sur novembre.
Est ce que de ton côté tu arrives à comprendre ce qu'il se passe?
Merci d'avance si tu peux regarder.
Cdlt, Cris
https://mon-partage.fr/f/80utE4tX/
UseForm3
Cris68300
Messages postés
104
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
21 septembre 2018
18 janv. 2018 à 15:44
18 janv. 2018 à 15:44
J'ai trouvé, je n'avais pas pensé à enlever la virgule de USF5, paiement multiple...
Par contre, peux tu me confirmer que c'est bien la virgule qui générée ce problème? Car je pense qu'en octobre (10) ou novembre (11) ça va coincer...
Merci Via,
Cdt
Cris
Par contre, peux tu me confirmer que c'est bien la virgule qui générée ce problème? Car je pense qu'en octobre (10) ou novembre (11) ça va coincer...
Merci Via,
Cdt
Cris
via55
Messages postés
14402
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 avril 2024
2 702
18 janv. 2018 à 23:30
18 janv. 2018 à 23:30
Bonsoir Cris
Oui ça va et toi aussi je suppose ☺
Oui en recherchant 18/01/2018 à partir du bas la macro s'arrête sur le 18/11/2018 !!
Pour éviter cela il faut exiger une correspondance exacte en rajoutant une instruction xlWhole dans toutes les lignes des macros recherchant Date avec Find
ligne = .Columns(2).Find(Date, , , xlWhole, xlByColumns, xlPrevious).Row
Cdlmnt
Via
Oui ça va et toi aussi je suppose ☺
Oui en recherchant 18/01/2018 à partir du bas la macro s'arrête sur le 18/11/2018 !!
Pour éviter cela il faut exiger une correspondance exacte en rajoutant une instruction xlWhole dans toutes les lignes des macros recherchant Date avec Find
ligne = .Columns(2).Find(Date, , , xlWhole, xlByColumns, xlPrevious).Row
Cdlmnt
Via
Cris68300
Messages postés
104
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
21 septembre 2018
19 janv. 2018 à 15:23
19 janv. 2018 à 15:23
Bonjour Via,
Encore une fois, merci de la rapidité de tes réponses!
Je l'ai mis en place à l'instant.
C'est fonctionnel.
Merci beaucoup.
Et à très vite.
Cris
Encore une fois, merci de la rapidité de tes réponses!
Je l'ai mis en place à l'instant.
C'est fonctionnel.
Merci beaucoup.
Et à très vite.
Cris