Modification macro existante

Y compris Power BI, Power Query et toute autre question en lien avec Excel
F
Fred65
Jeune membre
Jeune membre
Messages : 31
Inscrit le : 23 novembre 2009
Version d'Excel : 2007

Message par Fred65 » 23 novembre 2015, 12:25

Bonjour

J'ai besoin de faire une modification sur ce fichier (suite à des modifications de protocole de contrôles)
il faudrait que si on choisi R ou A dans le menu déroulant cela ne génère qu'une seule ligne (cellule D1 et F1 si ''R'' ou cellule D6 et F6 si ''A'')
Si on choisit ''T'' il faudrait générer les 3 lignes correspondantes (D3 D4 D5 et F3 F4 F5) + une 4°ligne intitulé ''Total'' en F

Ce fichier contient déjà une macro qu'il faut donc modifier
suivi precontamination GAMMA.xlsm
(294.1 Kio) Téléchargé 20 fois
Avatar du membre
Wilder3
Membre habitué
Membre habitué
Messages : 146
Inscrit le : 14 novembre 2015
Version d'Excel : 2007fr

Message par Wilder3 » 23 novembre 2015, 15:18

Bonjour, je ne vois que ceci comme changement à faire.

   'Me.Rows(lc + 1).Insert 'Modifié
            Select Case nc
                Case "R"
                    Me.Cells(lc, 4).Value = Me.Cells(1, 4).Value
                    Me.Cells(lc, 6).Value = Me.Cells(1, 6).Value
                    'Me.Cells(lc + 1, 4).Value = Me.Cells(2, 4).Value 'Modifié
                    'Me.Cells(lc + 1, 6).Value = Me.Cells(2, 6).Value 'Modifié
                    'Me.Range(Cells(lc, 5), Cells(lc + 1, 5)).Merge 'Modifié
                Case "T"
                    Me.Rows(lc + 1).Insert
                    Me.Cells(lc, 4).Value = Me.Cells(3, 4).Value
                    Me.Cells(lc, 6).Value = Me.Cells(3, 6).Value
                    Me.Cells(lc + 1, 4).Value = Me.Cells(4, 4).Value
                    Me.Cells(lc + 1, 6).Value = Me.Cells(4, 6).Value
                    Me.Cells(lc + 2, 4).Value = Me.Cells(5, 4).Value
                    Me.Cells(lc + 2, 6).Value = Me.Cells(5, 6).Value
                    Me.Range(Cells(lc, 5), Cells(lc + 2, 5)).Merge
                Case "A"
                    Me.Cells(lc, 4).Value = Me.Cells(6, 4).Value
                    Me.Cells(lc, 6).Value = Me.Cells(6, 6).Value
                    'Me.Cells(lc + 1, 4).Value = Me.Cells(7, 4).Value 'Modifié
                    'Me.Cells(lc + 1, 6).Value = Me.Cells(7, 6).Value 'Modifié
                    'Me.Range(Cells(lc, 5), Cells(lc + 1, 5)).Merge 'Modifié
            End Select
F
Fred65
Jeune membre
Jeune membre
Messages : 31
Inscrit le : 23 novembre 2009
Version d'Excel : 2007

Message par Fred65 » 23 novembre 2015, 15:38

Bonjour ''Wilder''

je ne vois pas de différence dans le corps du VBA ??
Avatar du membre
Wilder3
Membre habitué
Membre habitué
Messages : 146
Inscrit le : 14 novembre 2015
Version d'Excel : 2007fr

Message par Wilder3 » 23 novembre 2015, 16:04

Les lignes en vert sont en apparence inutile, d'où l'apostrophe rajouté devant (pour l'exclure du traitement de la macro) et l'indication "modifiée" pour avoir un point de repère de la modification.
F
Fred65
Jeune membre
Jeune membre
Messages : 31
Inscrit le : 23 novembre 2009
Version d'Excel : 2007

Message par Fred65 » 23 novembre 2015, 16:38

Wilder

A priori les lignes de commande mis entre '' sont nécessaires puisqu'elles génèrent les cellules du tableau ...
Je m'explique : si on choisit ''A'' dans le menu déroulant en E(x), cela doit générer la cellule D6 en D(x) , D7 en D(x+1) , F6 en F(x)
Idem si tu choisis ''R'' : D1 en D(x) , D2 en D(x+1) et F1 en F(x)
Pour ''T'' idem avec 3 lignes à reporter + 1 quatrième intitulé ''Total'' sous le dernier report en F(x+4)

je ne sais pas si je suis assez clair ....
dis moi
Avatar du membre
Wilder3
Membre habitué
Membre habitué
Messages : 146
Inscrit le : 14 novembre 2015
Version d'Excel : 2007fr

Message par Wilder3 » 23 novembre 2015, 17:22

Fred65 a écrit : cela ne génère qu'une seule ligne (cellule D1 et F1 si ''R'' ou cellule D6 et F6 si ''A'')
Fred65 a écrit : cela doit générer la cellule D6 en D(x) , D7 en D(x+1) , F6 en F(x)
chez moi D(x) & D(x+1) = deux lignes.
Car si x = 1 Dx= D1 et D(x+1) = D2

Par conséquent, le résultat de la modification de la macro, ci-joint en image, est forcément erroné car nous n'avons pas le même algorithme de calcul.

Bonne semaine à vous.
Sans titre.jpg
Sans titre.jpg (57.38 Kio) Vu 264 fois
F
Fred65
Jeune membre
Jeune membre
Messages : 31
Inscrit le : 23 novembre 2009
Version d'Excel : 2007

Message par Fred65 » 24 novembre 2015, 07:56

Bonjour Wilder

Tu trouveras en pièce jointe le fichier qui génère ''les bonnes lignes'' en fonction de la sélection en E (menu déroulant).

reste à rajouter la ligne supplémentaire '' Total'' en F(x+4) dans le cas d'une sélection ''T''

Merci beaucoup de ton dévouement

oups petit oubli

Voilà
suivi precontamination GAMMA.xlsm
(50.8 Kio) Téléchargé 11 fois
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'714
Appréciations reçues : 4
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 25 novembre 2015, 01:18

Bonjour

J'avais commencé suivant ces directives
Fred65 a écrit :il faudrait que si on choisi R ou A dans le menu déroulant cela ne génère qu'une seule ligne (cellule D1 et F1 si ''R'' ou cellule D6 et F6 si ''A'')
Si on choisit ''T'' il faudrait générer les 3 lignes correspondantes (D3 D4 D5 et F3 F4 F5) + une 4°ligne intitulé ''Total'' en F
Donc pour moi R ou A --> 1 ligne et T --> 4 lignes

J'étais un peu embêté avec la MEFC c'était pour ça que je n''avais pas joint mon travail

Mais maintenant il ne faut traiter que T --> 4 lignes

J'attends la nouvelle demande
F
Fred65
Jeune membre
Jeune membre
Messages : 31
Inscrit le : 23 novembre 2009
Version d'Excel : 2007

Message par Fred65 » 25 novembre 2015, 16:18

Banzai64

tu as mis le fichier ?
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'714
Appréciations reçues : 4
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 25 novembre 2015, 16:36

Bonjour

Je ne vais pas le mettre car tu as modifié les conditions, donc ce que j'ai fait il faut que je le reprenne (pas trop envie en ce moment)
Mais j'ai des doutes qu'ensuite cela change encore
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message