Dupliquer tableau sur autre feuille avec modifications

Résolu/Fermé
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015 - Modifié par mikamadeus le 1/06/2015 à 11:03
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 - 24 juin 2015 à 15:42
Bonjour,

Je souhaiterais a partir d'un tableau complet, en creer un deuxieme sur une autre feuille, mais en version simplifié. Tout cela automatisé/ a partir d'une macro
Ci-dessous les 2 tableau



Merci d'avance pour votre aide, je suis plutot debutant dans ce domaine !
A voir également:

24 réponses

ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
1 juin 2015 à 11:32
Bonjour

Plutôt qu'une image, envoies ton fichier au format excel 2003 si possible sur cjoint.com et joins le lien obtenu à ton prochain message. N'oublies pas un/des explications et exemples de résultat attendu

Cdlmnt
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
1 juin 2015 à 12:25
Bonjour,

Voici le lien
https://www.cjoint.com/?0FbmxJBkuKn

En faites je souhaiterais que l'onglet simplified se creer automatiquement a partir du premier onglet 'full' et que si jamais je modifiais l'onglet 'full' le 'simplified' se modifie automatiquement aussi.

Merci beaucoup pour ton aide
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
1 juin 2015 à 14:28
J'avoue ne pas bien comprendre ton problème
1. je souhaiterais que l'onglet simplified se créer automatiquement a partir du premier onglet 'full'
Il est créé cet onglet full, pourquoi veux tu le créer par macro ?

2. si jamais je modifiais l'onglet 'full' le 'simplified' se modifie automatiquement aussi
Tu parles du contenu des cellules ou de la structure de l'onglet
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
1 juin 2015 à 15:00
1- En faites l'onglet simplified sera supprimer par la suite, c'est un onglet template.
Il faut que cet onglet simplified se genere a partir de l'onglet full.

Concernant le 2, je parle du format des cellules ainsi que tu contenu.
Si je souhaite ajouter une ligne dans le full, je voudrais que cette ligne s'insère aussi dans le simplified, suivant le meme format.
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
1 juin 2015 à 15:56
Bon,

un début de réponse
https://www.cjoint.com/?3Fbp3QxvUux

Cdlmnt
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
Modifié par mikamadeus le 2/06/2015 à 15:13
Bonjour,

Merci pour ce debut de reponse, c'est ce que je voulais, il ne me reste plus qu'a mettre en page, comment faire pour supprimer ou inserer des ligne dans la feuille simplified creé ? Puis-je les ajouter ces infos a ton code ?

Merci
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
2 juin 2015 à 16:54
Bonjour

Dans ta demande, il n'était question que de créer un feuille Simplified à partir de la feuille full
Si tu veux ajouter des lignes ou des colonnes dans la feuille Simplified, de façon automatique, tu peux bien sûr le faire via le code de la macro KopieFF.

Cdlmnt
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
3 juin 2015 à 09:48
Bonjour,

Merci pour toute ton aide, c'est tres gentil.
Je suis en train d'essayer de voir comment inserer ou supprimer des linges/colonnes.
Or que j'ajoute Rows(10).Insert dans mon code ou que je le fasse en mode ''enregistrer macro', cela m'en insere a chaques fois 7. Connais tu la raison de ce problème ??

Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
3 juin 2015 à 11:07
Non, ça ne devrait insérer qu'une ligne
Pour tester, ajoutes cette procédure à compléter pour programmer les modifications de la feuille Simplidied
Lorsque tout sera OK, un Call MAJSimplified en fin de procédure KopieFF suffira alors à la lancer lors de la création de la feuille

Public Sub MAJFSimplified()
Dim li As Long
With Sheets(FS)
li = 10
Rows(li).Insert
End With
End Sub

Attention. Le fait d'avoir des cellules fusionnées va très certainement créer pas mal de problèmes. Les cellules fusionnées ne sont jamais une bonne solution lorsqu'on doit agir dessus, que ce soit depuis la feuille ou depuis vba

Bon courage
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
3 juin 2015 à 16:43
J'ai essaye de tout defusionner mais apparament le probleme ne viens pas de la...
Lorsceque je rentre la formule que vous m'avez donné plus haut de cette facon :

cofinFS = Sheets(FS).Cells(lititFS, Columns.Count).End(xlToLeft).Column
For co = cofinFS To cosupFS Step -1
Sheets(FS).Columns(co).Delete
Public Sub MAJFSimplified()
Dim li As Long
With Sheets(FS)
li = 10
Rows(li).Insert
End With
End Sub
Next co
Application.ScreenUpdating = True
End Sub

Un message d erreur apparait lorsque j'essaye de lancer la macro : Expected end Sub, savez vous pourquoi ?

Merci beaucoup
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
3 juin 2015 à 16:47
Je qu'on ne s'est pas bien compris
https://www.cjoint.com/c/EFdoVdMHJv1
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
3 juin 2015 à 16:57
Merci pour l'update du code, mais aucune ligne n'est ajouté. Cela marche chez vous ?
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
3 juin 2015 à 18:27
Pour ajouter une ligne il te faut lancer séparément (pour le moment) la procédure
Lorsque tout sera OK, un Call MAJSimplified en fin de procédure KopieFF avant End Sub, suffira alors à la lancer lors de la création de la feuille
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
4 juin 2015 à 10:21
La fin de procodure KopieFF donne ceci donc :

Application.ScreenUpdating = True
Call MAJSimplified
End Sub

Message d'erreur ; Sub or function not defined
Avec --> Public Sub KopieFF() en surbrillance

Les soucis que j'ai doivent vous paraitre simple, mais je debute excusez moi.
De plus commet faire pour inserer plusieur lignes a la suite ? De cette facon ?

Public Sub MAJFSimplified()
Dim li As Long
With Sheets(FS)
li = 10
li = 11
li = ....
Rows(li).Insert

Merci,
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
4 juin 2015 à 11:18
1. Désolé,
> La déclaration de la procédure
Public Sub MAJFSimplified()
> L'appel, depuis KopieFF : il manquait un "F"
Call MAJFSimplified
2.
Public Sub MAJFSimplified()
Dim li As Long
With Sheets(FS)
li = 10
.Rows(li).Insert
li = 21
.Rows(li).Insert

...
Mais c'était un exemple, j'ai mis le n° de ligne dans une variable, histoire de simplifier la suite des instructions concernant cette ligne
Peux tu préciser un peu plus ce que tu souhaites faire dans cette feuille Simplified

Cdlmnt
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
4 juin 2015 à 11:50
En faites ce n'est pas complique a expliquer.
https://www.cjoint.com/c/EFejVpKRlQv

Voici le document complet.
Comme vous l'avez bien fait precedemment, il faut generer l'onglet simplified a partir du full.
La difficulte est que cette onglet generé doit respecter le format de l'onglet simplified que vous trouverez sur ce fichier. ( suppressions de collones, insertions de lignes pour creer des espaces pour les graphiques ... )

Voyez vous ce que je veux dire ?

Merci
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
4 juin 2015 à 12:04
Une question. Est ce que la structure de la feuille Full peut changer (nombre de lignes, nombre de colonnes, etc ...)
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
4 juin 2015 à 13:16
Oui, cela est possible :)
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
4 juin 2015 à 13:16
Mais le format restera le meme
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
4 juin 2015 à 13:46
1. Oui, cela est possible :)
Ce n'est pas une réponse. C'est oui ou c'est non
Si c'est oui, le problème est nettement plus simple. On crée une feuille Simplified "modèle" vide. Il suffira alors, à la demande, de la copier et de la remplir avec les données de la feuille full.
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
4 juin 2015 à 13:55
Oui alors :)

Oui mais justement le but etant de ne pas avoir a recopier les donnees de la full sur la simplified, est-ce possible ? J'aimerais a l avenir, n'avoir qu'a modifier la full, et que la simplified suive :)
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
4 juin 2015 à 14:01
J'aimerais a l avenir, n'avoir qu'a modifier la full, et que la simplified suive
1. Si les cellules de la simplidfied contiennent des formules se référant à la full, les modifications vont suivre
Il faudrait en savoir un peu plus sur le scénario envisagé.
2. Une autre question. Est ce que la structure de la feuille Simplified reste la même (nombre de lignes, de colonnes, etc ...)
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
4 juin 2015 à 14:08
1 La simplified ne contiendra pas de formules se referant a la full

2 La structure de la feuille simplified doit suivre le meme structure que la full
( sauf comme vous pouvez le voir ds le doc envoye precedemment , collones en moins, lignnes en plus pour faire de la place pour les graphiques ... )
Comme vous pouvez le voir la simplified est la meme que la full avec des colones en moins et des espaces entre les differentes zones de couleurs .
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
4 juin 2015 à 14:23
OK, on va y aller

3. Est ce que l'en tête de la full reste la même (7 lignes exactement)
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
4 juin 2015 à 14:40
Comme vous pouvez le voir dans le doc que je vous ai envoyé, non car il faut inserer les titres des chaques zones de couleurs, donc nous passons a 8 :)
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
4 juin 2015 à 14:54
Je parle de la feuille full où il y a actuellement 3 "lignes" RSI, R&F, ASP
ce qui donne 7 lignes d'en tête
est ce que ce sera toujours 7 lignes
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
4 juin 2015 à 15:16
Pour les titres des zones de couleurs, feuille simplified, par exemple :
RSI Department.
Est il indispensable de les mettre dans une zone texte plutôt que dans une cellule, ça complique as mal le code
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
4 juin 2015 à 15:26
Pardon, oui l'en tete de la full restera la meme.
Oui vous pouvez mettre dans une cellule ce n'est pas un soucis, et si c'est plus simple pour vous tant mieux :).

Merci !
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
4 juin 2015 à 16:22
Pour le moment, la MAJFSimplified est séparée de KopieFF
https://www.cjoint.com/c/EFeovfWVTo1
A tester
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
4 juin 2015 à 16:37
Merci bien,

En revanche qund je fait ctrl+m un message d'erreur apparait:

Unable to set the text property of the characters class, concernant la ligne - >

Selection.Characters.Text = Sheets(FF).Cells(liTitreFF, 1) & " Department"
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 4/06/2015 à 17:56
Je ne comprends pas, chez moi, ça fonctionne
Essaies avec ceci, titres dans cellule au lieu de textbox
https://www.cjoint.com/c/EFepIoeydz1

RQ. Dans l'editeur vba/Options/references as tu une microsoft excel 10.0 ou autre Library cochée ?
Si tu ne l'as pas, tu vas la chercher dans la liste et la cocher
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
4 juin 2015 à 21:20
Pardon
Une microsoft Office (10.0 chez moi) Object Library
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
5 juin 2015 à 09:51
Bonjour !

Cela fonctionne, en revanche, si la feuille n'existe pas ( erreur out of range ) et si on repète l'opération, la feuille ne se supprime pas pour etre remplacer par une nouvelle, cela accumule les insertions de lignes et colones.
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
Modifié par mikamadeus le 5/06/2015 à 10:53
Je suis en train d'utiliser votre premier code, il a l'air de mieux fonctionner,

Public Sub MAJFSimplified()
Dim li As Long
With Sheets(FS)
li = 51
.Rows(li).Insert
li = 52
.Rows(li).Insert

A la suite de cela, quelle est la formule que je peux rajouter pour supprimer des colones, lignes ? merci
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
5 juin 2015 à 11:38
Bonjour

1. Je t'ai dit plus haut que
1.1. La procedure MAJFSimplified
Je l'ai séparé de la proccédure KopieFF pour faciliter sa mise au point. Donc, elle ne devait être exécutée (pour le moment) que sur une feuille Simplified1 existante.
1.2. Lorsqu'elle sera au point, c'est la procédure KopieFF qui va se charger de la faire fonctionner, sur une nouvelle feuille Simplified1

2. Le fichier intégrant l'appel de MAJFSimplified dans KopieFF
https://www.cjoint.com/c/EFfjLi3DjN1

Cdlmnt
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
5 juin 2015 à 13:52
Oui merci,

J'ai bien compris tout ca.

Comme je vous le disais a la suite de ceci ;

Public Sub MAJFSimplified()
Dim li As Long
With Sheets(FS)
li = 51
.Rows(li).Insert
li = 52
.Rows(li).Insert

je souhaites mettres d'autres formules concernant cette feuille, pour supprimer des lignes et des collones.
Pouvez vous me dire quelles sont les phrases type

li = 52
.Rows(li).Insert

a rentrer a la suite pour effectuer ces suppressions de lignes et coloones
co = A
.col(co).supp

dans le style ?
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 5/06/2015 à 14:23
Bon,

Pour insérer, redimensionner, colorier, remplir avec du texte une ligne ou une colonne, tu as tout ce qu'il faut dans les deux procédures, ou bien dans les diverses propositions que je t'ai faites plus haut.
Les as tu lues ?
Pour ma part, je ne pense pas pouvoir faire quelque chose de plus pour toi.

Bonne fin de journée
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
5 juin 2015 à 15:06
Oui bien sur que je les ai lues, je vous demaidais juste comment supprimer une colone avec un code de ce type
li = 52
.Rows(li).Insert

car je ne m'y retrouve pas forcement.
Mais je vais chercher.

Merci bien !
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015 > mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
5 juin 2015 à 15:39
jai utilise Columns("E:G").Delete Shift:=xlToLeft

Merci :)
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
8 juin 2015 à 16:26
Bonjour,

J'ai une utime question a vous poser si vous le permettez ?
Dans votre code vous avez inserer deux lignes blanches entres les differentes couleurs. Ce qui est parfait .

Mais comment faire pour que ces lignes apparraissent avec un format totalement vierge ( et non pas avec les cadres du reste du format)

Merci beaucoup,

Bonnje journée
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 8/06/2015 à 16:59
Tu ajoutes au code les deux lignes soulignées

     ' insertion de deux lignes blanches de hauteur HLiKPI (400)
.Rows(li).Insert
.Rows(li).Borders.LineStyle = xlNone
.Rows(li).RowHeight = HliKPI
.Range(.Cells(li, 1), .Cells(li, co)).Interior.ColorIndex = Blanc
li = li + 1
.Rows(li).Insert
.Rows(li).Borders.LineStyle = xlNone
' departement suivant
li = li + 1
Next liTitreFF


Bonne fin de journée
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
22 juin 2015 à 11:43
Bonjour,

C'est parfait, merci beaucoup.
J'a une derniere question, je penses que cela ira tres vite.

J'ai tres legerement modifié ce fichier ( un colone supplementaire en A ) et essaye d'appliquer le code a nouveau mais il ne fonctionne pas. Vous trouverez ce fichier sur le lien pas OK.
Un erreur apparait dans le code et destructure l'onglet simplified ( vous pouvez le voir la ligne concerné dans le codeen dessous ''<------'' ainsi qu'un lien avec le code complet)

Pouvez vous m'aider a faire marcher mon code sur le nouveau fichier (pas ok) ?


.Cells(li, 1).Value = Sheets(FF).Cells(liTitreFF, 1) & " Department"
.Cells(li, 1).Font.Size = 60
.Cells(li, 1).Font.FontStyle = "Gras"
.Cells(li, 1).HorizontalAlignment = xlGeneral
.Cells(li, 1).VerticalAlignment = xlCenter
' recherche ligne changement de couleur
li = li + 1
coul = .Cells(li, 2).Interior.ColorIndex
While .Cells(li, 2).Interior.ColorIndex = coul <-------
li = li + 1
Wend

ok : https://www.cjoint.com/c/EFtpbblYh1v
Pas ok : https://www.cjoint.com/c/EFtpbBroLZv

Code complet : https://www.cjoint.com/c/EFtpcEfGbGv

Merci beaucoup !!
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 22/06/2015 à 18:19
Si j'ai compris, il suffit de décaler la colonne qui détermine la couleur

     li = li + 1
coul = .Cells(li, 3).Interior.ColorIndex
While .Cells(li, 3).Interior.ColorIndex = coul
li = li + 1
Wend

Cdlmnt
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
23 juin 2015 à 10:01
Bonjour,

Merci , mais qu'importe le numero que je met la seconde ligne :
While .Cells(li, 7).Interior.ColorIndex = coul

Reste jaune ... avez vous une autre solution ?

La premiere ligne :
coul = .Cells(li, 3).Interior.ColorIndex

ne bug pas apparament, cela ne viendrais pas uniquement de la seconde ?

Avez vous pu consulter le fichier ou le code bug ?

Merci beaucoup pour votre aide precieuse.
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
23 juin 2015 à 16:06
Merci , mais qu'importe le numero que je met la seconde ligne :
While .Cells(li, 7).Interior.ColorIndex = coul
Reste jaune ... avez vous une autre solution ?

?? il fallait mettre 3 comme numéro de colonne (post #43)

J'ai ajouté la constante coProductnameFS = 3
et changé le 3 en coproductnamefS dans le code, comme ça, si tu modifies la structure, il te suffira d'intervenir uniquement pour changer la valeur de la constante
http://www.cjoint.com/c/EFxodK1IRdg
qu'est ce qui ne va pas dans la feuille Simplified1 ?
0
mikamadeus Messages postés 44 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 19 août 2015
23 juin 2015 à 16:50
Ah et bien merci beaucoup cela marche maintenant.
Tout est parfait, j'avais des problemes avec la suppression de collones car c'etait decalé, mais j'ai reussi a me debrouiller seul avec la commande
Columns("F:H").Delete Shift:=xlToLeft
Columns("H:R").Delete Shift:=xlToLeft

Maintenant tout fonctione c'est un veritable plaisir.
Dernier details minime je suppose, quand il y a changement de couleur, il manque des bordures.
Savez vous juste comment encadrer chaque zones de couleurs par une cadre epais ?

voici le liens vers le code complet:

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

Merci beaucoup !!!!!!!!!!
0