Automatisation fichier mensuel
Résolu/Fermé
Pimp92a
Messages postés
418
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 novembre 2022
-
9 mars 2011 à 22:16
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 - 18 mars 2011 à 01:42
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 - 18 mars 2011 à 01:42
A voir également:
- Automatisation fichier mensuel
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Ouvrir fichier .bin - Guide
12 réponses
Pimp92a
Messages postés
418
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 novembre 2022
44
Modifié par Pimp92a le 15/03/2011 à 16:39
Modifié par Pimp92a le 15/03/2011 à 16:39
Salut,
maintenant j'arrive à créer une feuille par rapport au modele, récupérer les lignes qui répondent aux critères, et savoir combien de lignes chaque tableau fait.
Mais je n'arrive pas à mettre les lignes dans la nouvelle feuille créée de manière ordonee et je n'arrive pas non plus à changer le nombre de lignes si necessaire (toutes les infos sont dans mon precedent message).
Je mets mon code:
Attention, comme j'ai fait beaucoup d'essais, j'ai des variables qui servent plus a rien.
Je n'ai donc pas nettoyé mon code
Merci d'avance
maintenant j'arrive à créer une feuille par rapport au modele, récupérer les lignes qui répondent aux critères, et savoir combien de lignes chaque tableau fait.
Mais je n'arrive pas à mettre les lignes dans la nouvelle feuille créée de manière ordonee et je n'arrive pas non plus à changer le nombre de lignes si necessaire (toutes les infos sont dans mon precedent message).
Je mets mon code:
Option Explicit Const modele_novedades = "modele_novedades" Const modele_promociones = "modele_promociones" Const FMod = "modele_novedades" Const PremCoD = 1 Const CoTituloD = 1 Const CoTituloA = 2 Const CoEAND = 2 Const CoEANA = 3 Const CoFERTD = 3 Const CoFERTA = 4 Const CoPTarifaD = 4 Const CoPTarifaA = 5 Const CoPVPRD = 5 Const CoPVPRA = 6 Const PremliTabA = 2 Const PremCoTabD = 1 Const DerCod = 8 Sub Test() Dim DerLiD As Long Dim DerCod As Long Dim liD As Long, coD As Long, liA As Long, coA As Long Dim FArr As String Dim liTabA As Long Dim nbarticles As Long Dim nbLignes As Long, nuLignes As Long Dim TituloD As String Dim EAND As String Dim PrecioTarifaD As String, PVPR As String Dim pedidoD As Variant Dim fertD As String Dim unidades As Variant Dim FDep As String Dim Feuille As Worksheet Dim rng As Range Dim n°L As Long Dim d°L As Long Dim nbL As Long Dim FActive As Worksheet FArr = "NOVEDADES OPENCOR" FDep = Worksheets(3).Name Sheets(FMod).Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = FArr DerCod = Sheets(FDep).Cells(2, 7).Column DerLiD = Sheets(FDep).Cells(65536, PremCoD).End(xlUp).Row liTabA = PremliTabA For Each Feuille In Worksheets For liD = 1 To 2000 If Cells(liD, 8) = "" And Cells(liD, 1) <> "" And Cells(liD, 2) <> "" And Cells(liD, 3) <> "" And Cells(liD, 4) <> "" And Cells(liD, 5) <> "" And Cells(liD, 6) <> "" And Cells(liD, 7) <> "" And Cells(liD, 1) <> "TITULO" Then nbLignes = nbLignes + 1 MsgBox liD TituloD = Sheets(ActiveSheet.Name).Cells(liD, CoTituloD) EAND = Sheets(ActiveSheet.Name).Cells(liD, CoEAND) fertD = Sheets(ActiveSheet.Name).Cells(liD, CoFERTD) PrecioTarifaD = Sheets(ActiveSheet.Name).Cells(liD, CoPTarifaD) PVPR = Sheets(ActiveSheet.Name).Cells(liD, CoPVPRD) Sheets(FArr).Cells(liD, CoTituloA).Value = TituloD Sheets(FArr).Cells(liD, CoTituloA + 1).Value = EAND Sheets(FArr).Cells(liD, CoTituloA + 2).Value = fertD Sheets(FArr).Cells(liD, CoTituloA + 3).Value = PrecioTarifaD Sheets(FArr).Cells(liD, CoTituloA + 4).Value = PVPR End If Next liD For n°L = 1 To 2000 n°L = n°L + 1 If Cells(n°L, 8) = "" And Cells(n°L, 1) <> "" And Cells(n°L, 2) <> "" And Cells(n°L, 3) <> "" And Cells(n°L, 4) <> "" And Cells(n°L, 5) <> "" And Cells(n°L, 6) <> "" And Cells(n°L, 7) <> "" Then nbL = Cells(n°L, 1).CurrentRegion.Rows.Count - 2 'MsgBox nbL n°L = n°L + nbL End If Next n°L For nuLignes = 1 To nbL Next nuLignes Feuille.Activate Next Feuille End Sub
Attention, comme j'ai fait beaucoup d'essais, j'ai des variables qui servent plus a rien.
Je n'ai donc pas nettoyé mon code
Merci d'avance
Pimp92a
Messages postés
418
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 novembre 2022
44
Modifié par Pimp92a le 16/03/2011 à 09:51
Modifié par Pimp92a le 16/03/2011 à 09:51
Je nettoie mon code pour que ce soit plus lisible.
J'ai mis des msgbox pour qu'on comprenne mieux mon probleme. J'arrive a recuperer les infos dont j'ai besoin (numeros de lignes qui répondent à mes critères + nombre de lignes de chaque petit tableau. Maintenant ce que je n'arrive pas à faire, c'est premièrement la boucle qui permet de recuperer chaque numero de lignepour inserer les infos dans la feuille NOVEDADES OPENCOR. Ensuite, je n'arrive pas a creer des lignes en fonction du nombre de lignes qui composent chaque petit tableau et recreer la mise en forme dans la nouvelle feuille.
Merci,
Merci par avance
J'ai mis des msgbox pour qu'on comprenne mieux mon probleme. J'arrive a recuperer les infos dont j'ai besoin (numeros de lignes qui répondent à mes critères + nombre de lignes de chaque petit tableau. Maintenant ce que je n'arrive pas à faire, c'est premièrement la boucle qui permet de recuperer chaque numero de lignepour inserer les infos dans la feuille NOVEDADES OPENCOR. Ensuite, je n'arrive pas a creer des lignes en fonction du nombre de lignes qui composent chaque petit tableau et recreer la mise en forme dans la nouvelle feuille.
Merci,
Option Explicit Const modele_novedades = "modele_novedades" Const modele_promociones = "modele_promociones" Const FMod = "modele_novedades" Const PremCoD = 1 Const CoTituloD = 1 Const CoTituloA = 2 Const CoEAND = 2 Const CoEANA = 3 Const CoFERTD = 3 Const CoFERTA = 4 Const CoPTarifaD = 4 Const CoPTarifaA = 5 Const CoPVPRD = 5 Const CoPVPRA = 6 Const PremliTabA = 2 Const PremCoTabD = 1 Sub Test() Dim DerLiD As Long Dim DerCod As Long Dim liD As Long Dim FArr As String Dim FDep As String Dim Feuille As Worksheet Dim n°L As Long Dim d°L As Long Dim nbL As Long Dim x As Long FArr = "NOVEDADES OPENCOR" FDep = Worksheets(3).Name Sheets(FMod).Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = FArr DerCod = Sheets(FDep).Cells(2, 7).Column DerLiD = Sheets(FDep).Cells(65536, PremCoD).End(xlUp).Row For Each Feuille In Worksheets For liD = 1 To 2000 If Cells(liD, 8) = "" And Cells(liD, 1) <> "" And Cells(liD, 2) <> "" And Cells(liD, 3) <> "" And Cells(liD, 4) <> "" And Cells(liD, 5) <> "" And Cells(liD, 6) <> "" And Cells(liD, 7) <> "" And Cells(liD, 1) <> "TITULO" Then MsgBox "Ligne n°" & liD Sheets(FArr).Cells(2, CoTituloA).Value = Cells(liD, 1).Value Sheets(FArr).Cells(2, CoTituloA + 1).Value = Cells(liD, 2).Value Sheets(FArr).Cells(2, CoTituloA + 2).Value = Cells(liD, 3).Value Sheets(FArr).Cells(2, CoTituloA + 3).Value = Cells(liD, 4).Value Sheets(FArr).Cells(2, CoTituloA + 4).Value = Cells(liD, 5).Value End If Next liD For n°L = 1 To 2000 n°L = n°L + 1 If Cells(n°L, 8) = "" And Cells(n°L, 1) <> "" And Cells(n°L, 2) <> "" And Cells(n°L, 3) <> "" And Cells(n°L, 4) <> "" And Cells(n°L, 5) <> "" And Cells(n°L, 6) <> "" And Cells(n°L, 7) <> "" Then nbL = Cells(n°L, 1).CurrentRegion.Rows.Count - 2 MsgBox "Il y a " & nbL & " ligne(s) dans ce tableau" n°L = n°L + nbL End If Next n°L Feuille.Activate Next Feuille End Sub
Merci par avance
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
16 mars 2011 à 17:02
16 mars 2011 à 17:02
re
j'ai fait une tentative pour la feuille NOVEDADES OPENCOR
je suis parti du principe que toutes tes feuilles mensuelles ont le même format
http://www.cijoint.fr/cjlink.php?file=cj201103/cijkHnF2Ou.xls
tout ceci reste bien sur a tester et à améliorer
bonne suite
j'ai fait une tentative pour la feuille NOVEDADES OPENCOR
je suis parti du principe que toutes tes feuilles mensuelles ont le même format
http://www.cijoint.fr/cjlink.php?file=cj201103/cijkHnF2Ou.xls
tout ceci reste bien sur a tester et à améliorer
bonne suite
Pimp92a
Messages postés
418
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 novembre 2022
44
Modifié par Pimp92a le 16/03/2011 à 18:32
Modifié par Pimp92a le 16/03/2011 à 18:32
Salut,
c'est magnifique, ça fonctione très bien!! Je continue à le tester.
Merci beaucoup!! Tu me fais gagner beaucoup de temps encore une fois (ainsi qu'aux futurs stagiaires qui prendront ma place).
Maintenant je vais essayer de mon côté de faire la partie promo en m'appuyant sur ton code (qu'il faut déjà que je pige complètement parce que j'étais loin du compte.
Merci pour ton aide précieuse.
Après ce fichier, c'est fini j'aurai automatisé toutes les tâches administratives (y en avait quand même une dizaine à la base)!!
A+
c'est magnifique, ça fonctione très bien!! Je continue à le tester.
Merci beaucoup!! Tu me fais gagner beaucoup de temps encore une fois (ainsi qu'aux futurs stagiaires qui prendront ma place).
Maintenant je vais essayer de mon côté de faire la partie promo en m'appuyant sur ton code (qu'il faut déjà que je pige complètement parce que j'étais loin du compte.
Merci pour ton aide précieuse.
Après ce fichier, c'est fini j'aurai automatisé toutes les tâches administratives (y en avait quand même une dizaine à la base)!!
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
Modifié par ccm81 le 16/03/2011 à 21:01
Modifié par ccm81 le 16/03/2011 à 21:01
re
1. j'ai un peu simplifié le code (il n'y a plus distinction entre la 1° ligne du tableau et les suivantes (une scorie d'une précédente version)
2. j'ai mis la colonne G (Unidades) comme test plutot que la colonne B (Lanzamiento)
http://www.cijoint.fr/cjlink.php?file=cj201103/cij60roiqh.xls
La feuille promo devrait ressembler à la novedades (en un peu plus compliqué)
bon courage
RQ. un oubli, tu ajoutes ça en fin de module (à toi d'y ajouter le code)
1. j'ai un peu simplifié le code (il n'y a plus distinction entre la 1° ligne du tableau et les suivantes (une scorie d'une précédente version)
2. j'ai mis la colonne G (Unidades) comme test plutot que la colonne B (Lanzamiento)
http://www.cijoint.fr/cjlink.php?file=cj201103/cij60roiqh.xls
La feuille promo devrait ressembler à la novedades (en un peu plus compliqué)
bon courage
RQ. un oubli, tu ajoutes ça en fin de module (à toi d'y ajouter le code)
Public Sub Promo(NF As String) End Sub
Pimp92a
Messages postés
418
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 novembre 2022
44
17 mars 2011 à 09:40
17 mars 2011 à 09:40
oK je m'y mets dès maintenant.
Je vais m'inspirer de ton code des lanzamientos pour faire les promos.
Merci pour tout ;)
Je vais m'inspirer de ton code des lanzamientos pour faire les promos.
Merci pour tout ;)
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
17 mars 2011 à 10:15
17 mars 2011 à 10:15
re
une modif qui se passe des feuilles modeles
http://www.cijoint.fr/cjlink.php?file=cj201103/cijTzPla0z.xls
bonne suite
une modif qui se passe des feuilles modeles
http://www.cijoint.fr/cjlink.php?file=cj201103/cijTzPla0z.xls
bonne suite
Pimp92a
Messages postés
418
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 novembre 2022
44
Modifié par Pimp92a le 17/03/2011 à 16:05
Modifié par Pimp92a le 17/03/2011 à 16:05
Bon,
J'ai réussi à récupérer les données des colonnes D, E, G, H pour les promos.
Tout est bon sauf quelques points et je bloque la-dessus:
La ligne jaune aussi je n'arrive pas à l'incorporer au bon endroit, a chaque fois elle se glisse entre deux lignes de produits.
Enfin, la ligne verte qui apparait certaines fois quand des produits changent de prix au cours d'une promo, ça aussi je n'arrive pas à la récupérer.
Ce sont des détails mais je sais que mes patrons me le demanderont.
Je continue à chercher de mon côté, merci beaucoup pour tout.
http://www.cijoint.fr/cjlink.php?file=cj201103/cijdt98yi0.xls
A+
J'ai réussi à récupérer les données des colonnes D, E, G, H pour les promos.
Tout est bon sauf quelques points et je bloque la-dessus:
La ligne jaune aussi je n'arrive pas à l'incorporer au bon endroit, a chaque fois elle se glisse entre deux lignes de produits.
Enfin, la ligne verte qui apparait certaines fois quand des produits changent de prix au cours d'une promo, ça aussi je n'arrive pas à la récupérer.
Ce sont des détails mais je sais que mes patrons me le demanderont.
Je continue à chercher de mon côté, merci beaucoup pour tout.
http://www.cijoint.fr/cjlink.php?file=cj201103/cijdt98yi0.xls
A+
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
Modifié par ccm81 le 17/03/2011 à 17:28
Modifié par ccm81 le 17/03/2011 à 17:28
re
je ne sais pas si tu es arrivé au bout,
voila quand même quelque chose qui doit s'approcher du but, il faut dire que la pluie m'a bien coincé dedans !!!!
http://www.cijoint.fr/cjlink.php?file=cj201103/cijwfdZZyg.xls
à vérifier, tester et améliorer
bon courage
RQ. une erreur dans sub Promo(NF) (je n'avais pas tenu compte des reprice)
je ne sais pas si tu es arrivé au bout,
voila quand même quelque chose qui doit s'approcher du but, il faut dire que la pluie m'a bien coincé dedans !!!!
http://www.cijoint.fr/cjlink.php?file=cj201103/cijwfdZZyg.xls
à vérifier, tester et améliorer
bon courage
RQ. une erreur dans sub Promo(NF) (je n'avais pas tenu compte des reprice)
' la bande jaune NumLigP = NumLigP + 1 If RepriceDansTableau Then ActiveSheet.Range("A" & NumLigP).Value = P1 & .Cells(LigNF + 3, ColDateNF).Value & P2 & .Cells(LigNF + 4, ColDateNF).Value Else ActiveSheet.Range("A" & NumLigP).Value = P1 & .Cells(LigNF + 2, ColDateNF).Value & P2 & .Cells(LigNF + 3, ColDateNF).Value End If
Pimp92a
Messages postés
418
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 novembre 2022
44
17 mars 2011 à 18:31
17 mars 2011 à 18:31
Salut,
Ouais j'avais réussi à avoir la bande jaune, mais pas la verte et puis la mise en forme que tu proposes est parfaite.
Je te remercie beaucoup pour le temps consacré!!!
Tu me fais gagner beaucoup de temps encore une fois.
Et j'ai appris plein de choses grâce à toi sur la mise en forme en vba (notamment).
Je t'inclus bien sûr dans les crédits du code en commentaire comme j'ai fait dans le premier fichier.
Le sujet est maintenant résolu!
Je pense maintenant que pendant un moment je ne t'embêterai plus, je laisse le soin à d'autres de le faire ;)
Merci pour tout.
A+
Ouais j'avais réussi à avoir la bande jaune, mais pas la verte et puis la mise en forme que tu proposes est parfaite.
Je te remercie beaucoup pour le temps consacré!!!
Tu me fais gagner beaucoup de temps encore une fois.
Et j'ai appris plein de choses grâce à toi sur la mise en forme en vba (notamment).
Je t'inclus bien sûr dans les crédits du code en commentaire comme j'ai fait dans le premier fichier.
Le sujet est maintenant résolu!
Je pense maintenant que pendant un moment je ne t'embêterai plus, je laisse le soin à d'autres de le faire ;)
Merci pour tout.
A+
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
17 mars 2011 à 20:20
17 mars 2011 à 20:20
re
de rien, ça maintient les neurones et rassures toi, si on trouvait ça embêtant ....
Plus sérieusement, tout le code suppose que la mise en forme des feuilles mensuelles reste rigoureusement identique, donc ...
bonne suite dans ton travail
de rien, ça maintient les neurones et rassures toi, si on trouvait ça embêtant ....
Plus sérieusement, tout le code suppose que la mise en forme des feuilles mensuelles reste rigoureusement identique, donc ...
bonne suite dans ton travail
Pimp92a
Messages postés
418
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
20 novembre 2022
44
18 mars 2011 à 01:42
18 mars 2011 à 01:42
Oui oui c'est toujours la même mise en forme, c'est d'ailleurs pour ça que je voulais l'automatiser.
Je te remercie ccm81
A+
Je te remercie ccm81
A+