Scinder un onglet en plusieurs onglets

Résolu/Fermé
netabisse - 17 sept. 2013 à 12:27
netabisse Messages postés 12 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 17 septembre 2013 - 17 sept. 2013 à 17:41
Bonjour

J'ai un fichier avec un onglet général.
Je souhaite scinder cet onglet en créant un onglet par Direction 6 en tout
J'avais déjà un fichier du même type où la macro fonctionne bien, mais sur celui-ci qui est construit de façon identique ça ne fonctionne pas...
Pourriez-vous m'aider, SVP
voici mon code


Sub Copie()
Dim Sh As Object, Lg As Long
With ActiveSheet
For Each cel In .Range("C5:C" & .Range("C" & Rows.Count).End(xlUp).Row).Cells
Set Sh = Sheets("Q1_" & cel.Value)
Lg = Sh.Range("A" & Rows.Count).End(xlUp).Row + 1
If Application.WorksheetFunction.CountIf(Sh.Range("A:A"), Range("A" & cel.Row).Value) = 0 Then _
.Range("A" & cel.Row & ":U" & cel.Row).Copy Destination:=Sh.Range("A" & Lg)
Next
End With
End Sub

En fait, cela ne me copie que la 1ère donnée pour chaque onglet.
Je ne sais pas si je suis très claire...
L'onglet général fait environ 70 lignes
de la colonne A à U

Merci de votre aide

Isabelle
A voir également:

8 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
17 sept. 2013 à 13:35
Bonjour,

La copie des données est conditionnée par l'instruction
If Application.WorksheetFunction.CountIf(Sh.Range("A:A"), Range("A" & cel.Row).Value) = 0
Traduction : si la donnée de la colonne A de la feuille Générale est déjà présente dans la colonne A de la feuille Q1_x, la copie n'est pas réalisée.

A+
0
Bonjour Gyrus

Merci pour ton retour
Mais je n'ai pas vraiment compris, je ne suis pas du tout connaisseuse du langage VBA.
Dans l'onglet de synthèse "Q1", mes entêtes de colonnes sont en ligne 4, de la colonne A à U.
Dans la colonne C, j'ai le nom d'une région (Alsace, Lorraine...)
A noter que cet onglet est classé par ordre alphabétique sur la colonne C nom de la région

Les autres onglets sont construits de la façon suivante
- nom de l'onglet "Q1_NomdelaRégion".
- j'ai mis les mêmes entêtes de colonnes en ligne 5 de A à U.
- les lignes sous les entêtes de colonnes sont vides.

En espérant que ces explications complémentaires pourront t'aider à m'aider

Merci encore

Isabelle
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
17 sept. 2013 à 15:22
Ton programme balaye chaque cellule de la colonne C de la feuille de synthèse "Q1". J'ai bien compris qu'il s'agit de régions.
Sur la même ligne, en colonne A il y a une valeur que tu ne cites pas dans ton explication. Je l'appelle Vx dans la suite.
Le programme va contrôler dans la feuille qui correspond à cette région si la donnée Vx est présente dans la colonne A.
Si elle n'est pas présente, la copie est réalisée. Si elle est présente, la copie n'est pas réalisée.
Voila qui peut expliquer pourquoi tu n'obtiens une copie que pour la 1ère donnée pour chaque feuille.

Sans être connaisseuse du langage VBA, tu peux comprendre que je ne suis pas devin. Sans voir le classeur, je peux difficilement t'aider d'avantage à moins que tu fournisses la boule de cristal :)

A+
0
netabisse Messages postés 12 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 17 septembre 2013
17 sept. 2013 à 16:01
heu, ok mais je fais comment pour insérer le fichier?
0

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

Posez votre question
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
17 sept. 2013 à 16:12
0
netabisse Messages postés 12 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 17 septembre 2013
17 sept. 2013 à 17:06
Super merci
voici donc mon fichier

https://www.cjoint.com/?3IrrcRxcItY

A +
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
17 sept. 2013 à 17:31
Tu peux commencer par regarder le résultat obtenu en supprimant la condition citée précédemment
https://www.cjoint.com/?CIrrDycaCDJ

A+
0
netabisse Messages postés 12 Date d'inscription mercredi 14 septembre 2011 Statut Membre Dernière intervention 17 septembre 2013
17 sept. 2013 à 17:41
Juste génial!
merci beaucoup
je crois avoir repéré l'erreur dans mon code.



Merci encore et bonne soirée:
0