> Tous les forums > Forum Bureautique
 macro
Ajouter un message à la discussion
Pages : 1 [2] 3 4 5 ... Fin
Page 2 sur 8 [Fin]
maheln
 Posté le 19/10/2019 à 17:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

pour l'exemple et le compréhension j'ai fournie le fichier que vous avez ,ensuite les donnée qui ce trouve en CA, pour leurs lecture de suivie, reçoivent une une mise en forme conditionnelle,de la, manuellement parte en CAB avec le format conditionnelle reçut (et j’avoue que l’installer sur chaque groupe est très long mes nécessaire ,ensuite dans NDP j'ai 6 colonne supplémentaire D,E,F,G,H,i (de même taille de colonne que CA) ,pour le groupe 1 puis 2 puis 3 ext ,de chaque ligne de CAB une comparaison ,ex : i avec d ,i avec e, i avec f ext puis j avec d,j avec e ext lorsque que les donnée correspond (i avec d par ex =1 en q1,i avec e =2 en q1 ex...

merci pour ta compréhension et ton aide

Debrief
 Posté le 19/10/2019 à 20:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Ok, donc pour la compréhension tu as envoyé un fichier qui n'est pas le fichier réel que tu exploites, et tu voudrais que je fasses des modifs en imaginant le fichier réel à partir de tes explications !

S'il y a une MFC en feuille CA réelle (que je n'ai pas), j'aurais pu la mettre automatiquement dans la Macro de formatage de la feuille CA. Du coup, la copie en CAB serait-elle nécessaire ?

S'il s'agit seulement de faire une copie de la feuille CA dans une feuille CAB, comme je l'ai indiqué précédemment, cette opération peut être faite directement sous Excel sans aucune difficulté, quitte à vider les données manuellement. Pas besoin de Macro. De plus cette feuille CAB (qui sert de modèle ?) peut / devrait être conservée dans un autre classeur. Mais peut-être n'ai-je pas tout compris ...

Je ne peux pas comprendre cette histoire de comparaison "ex : i avec d ,i avec e, i avec f ext puis j avec d,j avec e". Je ne suis pas medium, désolé. Il faudrait au moins un fichier qui correspond à la réalité.

Assure-toi de prendre la dernière version du programme qui se trouve dans mon mon post Posté le 19/10/2019 à 12:29 que j'ai modifié pour inclure des modifs sur le nom des feuilles de sauvegarde CA pour éviter les conflits avec tes manips de copie de feuille CA dont je ne connaissais pas l'existence.

D.



Modifié par Debrief le 19/10/2019 20:21
maheln
 Posté le 20/10/2019 à 01:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour ,

https://www.cjoint.com/c/IJtw6OqMqoN

en espérant que cela vous permettra de comprendre

merci de votre compréhension et de votre patience

Debrief
 Posté le 20/10/2019 à 09:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Peux-tu expliquer quel est le but de la MFC qui doit mettre la cellule en Gras + Italique ?

Cette MFC est très étrange pas car:

1) Les cellules sur lesquelles elle s'applique sont déjà nativement en format italique
2) Elles sont mises en Gras par la MFC quelque soient les valeurs en "i4:p4"
3) Je ne comprends pas ce que veut dire "Valeur de la cellule < Range de cellule" (pour moi ça n'a pas de sens et je ne sais pas ce qu'Excel fait de ça)

D.



Modifié par Debrief le 20/10/2019 09:48
maheln
 Posté le 20/10/2019 à 14:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

https://www.cjoint.com/c/IJumzbyzkYz

merci de votre compréhension et de votre patience

Debrief
 Posté le 20/10/2019 à 15:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Remarques sur le fichier que tu envoies:

1 - Dans le fichier précédent, il n'y avait pas de MFC en zone "Q8:X8" de la feuille CAB, donc je ne parlais pas de ces MFC là.
Je parlais des 245 MFC qu'il y a en feuille CA qui se basent sur une formule inadaptée "Valeur de la cellule < Range de cellule" et qu'on retrouvait dans la feuille CAB du précédent fichier pour ses 2 groupes.

2 - Tu as retiré ces formules inadaptées de la zone "I8:P8" de la feuille CAB pour les remplacer par d'autres, valides cette fois, encore que:
- l'une des formules devrait être <= ou >=
- la couleur de caractère choisie ne permet pas de distinguer les chiffres sur le fond bleu foncé que tu as mis

3 - Sur la zone "Q8:X8" de la feuille CAB il y a 15 MFC

...Qui peuvent se concentrer en 6: (j'ai fait un outil pour ça)

...Dont 2 sont contradictoires (1ère et dernière MFC)

Au final les questions qui restent:

Q1: Il faut supprimer TOUTES les MFC de la feuille CA dont les formules sont inadaptées.
Je t'ai demandé quel était le but de ces MFC mais tu n'as pas répondu.
S'il faut des MFC en feuille CA, que veux tu faire avec au juste ?

Q2: Les chiffres de la feuille CAB font référence aux chiffres de la feuille CA par formule, ce qui implique une construction qui n'est pas simple.
Le sous-groupe ajouté dans la feuille CAB (zone "Q8:X8") pourrait très bien se trouver en feuille CA avec possibilité par Macro de masquer / afficher ce sous-groupe pour tous les groupes.
Pourquoi la feuille CAB est-elle nécessaire ?

maheln
 Posté le 20/10/2019 à 17:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

en CA ,facilité la lecture avec 3 groupe de couleur par mfc

pour la feuille CAB ,oui cela pourrai être ,mes alors il faudrait rajouter en CA les ligne libre au dessus comme en CAB et moi je ne sais pas comment faire cela par macro (quand j'ai commencer sur exel j'ai construit ainsi c'est pour cela CAB )

https://www.cjoint.com/c/IJuo7VmkoVz

merci pour votre compréhension et votre patience

Debrief
 Posté le 20/10/2019 à 18:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir,

Concernant les MFC sur CA, je ne vais pas pouvoir les mettre par Macro de formatage de la feuille CA pour la simple raison que je ne sais absolument pas ce qu'il faut faire. Les 245 MFC avec formule inadaptée sont toujours en feuille CA dans ton dernier fichier. Et "3 groupe de couleur par mfc" ça ne m'avance pas du tout. Donc on oublie.

Pour la feuille CA incluant les sous-groupes de CAB, ce ne sont pas les quelques lignes supplémentaires (4 ?) qu'il faut ajouter en haut de la feuille qui posent problème (on peut les insérer manuellement en 10 secondes si besoin) mais ce sont les 8 colonnes supplémentaire du 2ème sous-groupe (zone "Q8:X8") avec formule pour chaque groupe qui sont la partie compliquée à ajouter. Mais je ne sais même pas si c'est bien ça qui te conviendrait.

Mais bon, pour faire tout ça il faut de l'information détaillée et j'ai le sentiment qu'échange après échange on ne progresse pas, et je crains de me lancer dans des développements inutiles qui ne correspondent pas à ce que tu veux.

Cordialement,
D.

Publicité
maheln
 Posté le 20/10/2019 à 18:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

bien je vais plancher sur ce qui existe et reviendrai ensuite ...

merci pour ce que tu as fait,pour ta patience ...

maheln
 Posté le 20/10/2019 à 19:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour ,

pourrai tu me dire s'y il est possible de faire une petite macro pour faire cela dans la feuille trie

https://www.cjoint.com/c/IJurn5lU1wF

merci de votre patience et pour votre compréhension



Modifié par maheln le 20/10/2019 19:14
Debrief
 Posté le 20/10/2019 à 19:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il est toujours possible de faire une petite macro pour faire cela dans une feuille triée. Ou faire ceci dans une feuille pas triée. ou pour faire quelque chose quelque part.

Edit: vu dans le fichier finalement joint

ici cellule B4... mais de quelle feuille ? NDP ?

Cet ordre B4, B6, B8, B10 ça représente quoi ? Les noms NDP triés ?

Et à quoi ça va te servir ? Tu peux trier directement dans NDP avec Excel manuellement et reporter les modifs dans CA grâce aux bouton que je t'ai ajoutés.

Tu demandes des trucs totalement imprécis, sans aucune justification.



Modifié par Debrief le 20/10/2019 19:38
maheln
 Posté le 20/10/2019 à 19:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour

merci bon weekend, désolé de vous avoir ennuyer

cela concerné la feuille trie

merci



Modifié par maheln le 20/10/2019 23:44
Debrief
 Posté le 20/10/2019 à 20:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Merci.

Ça ne m'a ennuyé que par l'impossibilité de pouvoir répondre complètement à une question en raison de la vacuité et l'imprécision des informations fournies. Désolé !

Bon courage pour la suite.

maheln
 Posté le 20/10/2019 à 22:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

auriez-vous la gentillesse de corriger le code et de m'expliquer pourquoi il ne fonctionnent pas .

https://www.cjoint.com/c/IJuuTQ8JPFF

merci pour votre compréhension



Modifié par maheln le 20/10/2019 22:48
Debrief
 Posté le 21/10/2019 à 10:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Je devine donc qu'il s'agit du code de la Macro TRI.

Je ne sais pas pourquoi mais l'Union des ranges est foireuse. Le Range résultat est incorrect, c'est pour ça que ça ne marche pas.

1 - Dans le code il faut toujours qualifier les objets. Par exemple un Range il faut toujours dire de quelle feuille il est.

Il ne faut pas écrire Range("A1") mais soit ActiveSheet.Range("A1") ou Worksheets("trie").Range("A1") ou mieux encore ThisWorkbook.Worksheets("trie").Range("A1")

Car il suffit de lancer la macro d'une autre feuille et si c'est mal ou pas qualifié, c'est le mauvais Range qui est pris.

2 - Pour copier /coller il n'est pas besoin de faire une sélection. Ce que tu récupères d'une macro enregistrée utilise forcément des sélections.
De toutes façons, en VBA "Selection" est un Range.

Range("xx:yy").Copy
Range("aa").PasteSpecial Paste:=xlPasteAll ou xlPasteValues ou etc...

Voir Macro Copier() https://www.cjoint.com/c/IJvirlidV5B

maheln
 Posté le 21/10/2019 à 15:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

merci pour ces précieux conseilles et le code .. dans mon cas actuel Worksheets("trie").Range(PlageCopier) , comme je l'ai dit ,la pratique de ce langage sur exel ,je le découvre et je m’efforce à le comprendre

merci pour ta compréhension et ton aide

Publicité
Debrief
 Posté le 21/10/2019 à 18:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il y a le langage et il y a la programmation.

Si tu as fait de la programmation avant dans un autre langage (C, C++, Java, etc...) ce sera plus facile.

Mais il y a beaucoup de spécificités Excel dans le VBA.

maheln
 Posté le 21/10/2019 à 23:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

non ,tristement non je n'en ai jamais eu le temps par le passe ,voila pourquoi c'est compliquer ... toute est dit "le langage de programmation" et c'est sur que face à vos talent je suis en cm1

pour le message de 10h19 la macro c’était pour le tableau complet ... j’espère assimilé assez vite le langage

merci de votre compréhension et de votre patience



Modifié par maheln le 21/10/2019 23:17
maheln
 Posté le 24/10/2019 à 23:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour le forum,bonjour Debrief,

pourriez-vous faire les modification des paramètre de votre code que je n'arrive pas à faire vue mon niveau ,j'ai essayer ,çà fait plusieurs fois que je plante tous et que je suis obliger de recommencer,svp

https://www.cjoint.com/c/IJyvgzpOW1F

merci de votre compréhension et de votre aide



Modifié par maheln le 24/10/2019 23:10
Debrief
 Posté le 25/10/2019 à 09:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Puisque, comme d'habitude, tu n'expliques pas ce que tu veux faire, j'ai supposé:

1 - que le code que tu veux modifier est celui de la macro Copier,

2 - que tu veux copier 1 colonne sur 2 de B4:J10 dans L4:P100.

Si ce n'est pas cela dommage pour toi, je ne répondrai plus à tes messages s'ils ne contiennent pas autre chose que "modifier le code de la macro".

Sub Copier()
Dim PlageCopier As Variant
Dim Cellule As Range
Dim Rng As Range

'Pour chaque plage à copier
For Each PlageCopier In Array("B4:B100", "D4:D100", "F4:F100", "H4:H100", "J4:J100")
'pour chaque cellule de la plage à copier
For Each Cellule In ThisWorkbook.Worksheets("trie").Range(PlageCopier)
If Rng Is Nothing Then Set Rng = Cellule Else Set Rng = Union(Rng, Cellule)
Next Cellule
Next PlageCopier

Rng.copy
ThisWorkbook.Worksheets("trie").Range("L4").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub



Modifié par Debrief le 25/10/2019 09:07
Debrief
 Posté le 25/10/2019 à 09:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Autre hypothèse de ce que tu veux faire et qu'on ne sait pas:

S'il s'agit de copier 1 colonne sur 2 et 1 ligne sur 2:

Sub Copier()
Dim PlageCopier As Variant
Dim Cellule As Range
Dim Rng As Range
Dim Bool As Boolean

Bool = True

'Pour chaque plage à copier
For Each PlageCopier In Array("B4:B100", "D4:D100", "F4:F100", "H4:H100", "J4:J100")
'pour chaque cellule de la plage à copier
For Each Cellule In ThisWorkbook.Worksheets("trie").Range(PlageCopier)
If Bool Then '1 sur 2
If Rng Is Nothing Then Set Rng = Cellule Else Set Rng = Union(Rng, Cellule)
End If
Bool = Not Bool
Next Cellule
Next PlageCopier

Rng.copy
ThisWorkbook.Worksheets("trie").Range("L4").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

maheln
 Posté le 25/10/2019 à 11:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

non il est question du code formater la feuille et report de la feuille 2 (qui ne fonctionnent plus après les modification) ,j'ai indiquer sur la macro ce que j'ai essayer de faire sans y arrivée .. (changer le nombre de cellules du groupe 1 qui va servir à la création des groupes suivant ,et quand les groupe suivant son créer, conserver le format ,le format conditionnelle,les formule qui serons dans les cellules rajouter .

https://www.cjoint.com/c/IJzjFWrbDSr

merci pour le code trie que je vais étudier pour comprendre ...

merci de votre compréhension et se votre aide

Debrief
 Posté le 25/10/2019 à 13:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Ok, c'est maintenant que tu les dis ! Je regarderai plus tard ce soir.

maheln
 Posté le 25/10/2019 à 18:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour ,

je ne l'ai pas dit avant parce-que je voulait voir avant si comme vous me l'aviez dit, inclure les huit colonne supplémentaire dans la feuille CA aller gêner le suivie et les comparaison des autre feuil de mon classeur , en faite non je vais même gagne de la place ,j'ai juste prie un peu de retard et j'aurais quelques modifications à faire ..

merci de votre compréhension et de votre aide

Debrief
 Posté le 25/10/2019 à 20:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Tu as modifié le paramètre du nombre de chiffres, OK mais tu as aussi modifié le code et spécialement la copie des formats !

Rng.PasteSpecial , Paste:=xlPasteFormulas, Paste:=xlPasteFormats, Paste:=xlPasteAllMergingConditionalFormats ' ici rajoue condditionelle et formul

Paste:=xlPasteFormulas: NON, la formule a été mise avant par le code et ne peut pas être copiée car les décalages lignes a colonnes n'ont rien à voir entre NDP et CA.

Paste:=xlPasteAllMergingConditionalFormats: NON ! Il fallait d'abord regarder ce que fait ce type de Paste en faisant une recherche google: https://docs.microsoft.com/fr-fr/office/vba/api/excel.xlpastetype

xlPasteAllMergingConditionalFormats 14 Tout est collé et les formats conditionnels sont fusionnés.

Donc évidemment ces 2 ajouts détruisent les valeurs précédemment insérées. De plus ça ne fait pas du tout ce que tu veux !
En plus le commentaire dit clairement 'Copie le format du précédent Groupe nom, donc les autres options sont inopportunes.

Pour information le Paste:=xlPasteFormats copie aussi les MFC, celles que tu aurais pu mettre en Q8:X8 seraient copiées dans les autres groupes au même endroit.

Avant de mettre quelque MFC que ce soit en Q8:X8, il faut absolument que tu effaces les infâmes 245 MFC toujours présentes dans cette feuille CA.
Alors:
1 - Sélectionne toutes les cellules en cliquant ce sur petit triangle
2 - Vas dans Mise en forme conditionnelle et choisis Effacer les règles.

Pour formater la feuille CA, pars d'un groupe sainement défini, sans valeurs déjà insérée et place tes MFC en Q8:X8 avant le formatage (après avoir supprimé ces maudites 245 MFC qui trainent dans ta feuille).

Je vais te fournir un classeur avec les MFC et les formules dans Q8:X8.



Modifié par Debrief le 25/10/2019 20:41
Publicité
Pages : 1 [2] 3 4 5 ... Fin
Page 2 sur 8 [Fin]

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Aucun sujet pertinent lié trouvé
 > Tous les forums > Forum Bureautique