Copier/Coller Loop
Résolu/Fermé
Viapif
-
2 juil. 2012 à 18:46
viapif Messages postés 11 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 9 juillet 2014 - 4 juil. 2012 à 18:07
viapif Messages postés 11 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 9 juillet 2014 - 4 juil. 2012 à 18:07
A voir également:
- Copier coller fl studio
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Copier coller pdf - Guide
- Historique copier-coller android - Guide
- Copier-coller - Accueil - Windows
- Symbole clavier copier coller - Guide
5 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié par eriiic le 2/07/2012 à 23:39
Modifié par eriiic le 2/07/2012 à 23:39
Bonsoir,
tu peux déposer un fichier exemple sur cjoint.com et coller ici le lien fourni.
copier et mettre sur une autre feuille
laquelle ?
Le hic, c'est que le tableau CD sera modifié régulièrement
C'est quoi le tableau CD ? Le TCD ?
eric
tu peux déposer un fichier exemple sur cjoint.com et coller ici le lien fourni.
copier et mettre sur une autre feuille
laquelle ?
Le hic, c'est que le tableau CD sera modifié régulièrement
C'est quoi le tableau CD ? Le TCD ?
eric
Bonjour Eric,
Voici le lien d'un fichier exemple que j'a fait http://cjoint.com/?0GdkUnJvXhD
Je t'ai laissé deux trois mots pour t'expliquer en gros ce que je voulais faire.
Si tu n'es pas sur n'hesites pas à me poster un message.
(le tableau CD = tableau Croisé Dynamique)
Je te remercie par avance
Viapif
Voici le lien d'un fichier exemple que j'a fait http://cjoint.com/?0GdkUnJvXhD
Je t'ai laissé deux trois mots pour t'expliquer en gros ce que je voulais faire.
Si tu n'es pas sur n'hesites pas à me poster un message.
(le tableau CD = tableau Croisé Dynamique)
Je te remercie par avance
Viapif
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
3 juil. 2012 à 12:02
3 juil. 2012 à 12:02
Re,
tu ne veux pas parler en terme de références ?
une clé sur le coté gauche
???
D5:A65 évoqué dans le post 1 je suppose ?
Seulement je lis GQNIYC d'un coté, et 2012001 sur l'autre feuille..(???).
et la copier 12 fois à la suite
copier GQNIYC, MKEPKF,... et le répéter 12 fois ou copier GQNIYC 12 fois, puis MKEPKF 12 fois etc
copier et mettre sur une autre feuille
laquelle ?
Je complète donc ma question : à partir de quelle cellule ?
Donne le maximum de précisions, c'est pénible de devoir les arracher au forceps...
Si je n'ai pas toutes les précisions au prochain post je laisse tomber.
eric
tu ne veux pas parler en terme de références ?
une clé sur le coté gauche
???
D5:A65 évoqué dans le post 1 je suppose ?
Seulement je lis GQNIYC d'un coté, et 2012001 sur l'autre feuille..(???).
et la copier 12 fois à la suite
copier GQNIYC, MKEPKF,... et le répéter 12 fois ou copier GQNIYC 12 fois, puis MKEPKF 12 fois etc
copier et mettre sur une autre feuille
laquelle ?
Je complète donc ma question : à partir de quelle cellule ?
Donne le maximum de précisions, c'est pénible de devoir les arracher au forceps...
Si je n'ai pas toutes les précisions au prochain post je laisse tomber.
eric
ok Je te comprends
La clé qu'il y a sur en feuille 1 D5:D65 (sans le "total général" qui est en D66 car ca serait le signe de retour au début de séquance (D5)) j'aimerais la copier en feuille 2 D4:D64 le long des 2012001 qui sont en E4:E64.
Cette copie "Feuille1 D5:D65" (GQNIYC, MKEPKF,... ) doit etre copiée 12 fois de suite. Cest a dire qu'en feuille2 cellule D4 la séquence commence et se termine en D64 pour 2012001 mais elle recommence en feuille 2 D65 avec 2012002, et pareil pour 2012003 jusqu'à 2012012. Pour chaque 20120XX il y a cette séquence qui se répète.
Tu dois savoir que la séquence feuille 1 D5:D65 qui est à copier (GQNIYC, MKEPKF,...) est en relation avec le Tableau croisé dynamique que tu vois en feuille 1 F4:U66. C'est à dire que le tableau pourra etre modifié avec ajout/suppression de lignes, ce qui modifiera la séquence qu'il y a en feuille1 D5:D65. Donc la macro devra prendre en compte cette variable de manière à ce qu'il n'y ait pas de décalages en feuille 2.
J'aimerai également en feuille 2 F4, une séquence de chiffre 6 qui suive l'éventuelle transformation de la colonne E (c'est à dire que si 2 lignes du tableau croisé sont supprimés, cela réduira le nombre de 20120XX de 2 lignes, ce qui devra engendrer la meme chose pour le nombre de "6" en colonne F).
Tu dois savoir que pour toutes cellules contenant 2012001 en E, alors les cellules en F seront un 6, pour 2012002 ca sera un 7 et 2012003 un 8, tout cela jusqu'à 2012012.
Je te mets un autre lien pour que tu vois a quoi j'aimerais que ca ressemble dans la feuille 2 du premier fichier que je t'ai envoyé.
http://cjoint.com/?0GdpKeUqZ0v
J'espere avoir été clair. Si tu decides de me laisser tomber, previens moi quand meme.
Merci Eric
PS: je t'avais mis des commentaires dans le fichier excel ca n'a pas marché ou est-ce qu'ils n'étaient pas utiles? o_O
La clé qu'il y a sur en feuille 1 D5:D65 (sans le "total général" qui est en D66 car ca serait le signe de retour au début de séquance (D5)) j'aimerais la copier en feuille 2 D4:D64 le long des 2012001 qui sont en E4:E64.
Cette copie "Feuille1 D5:D65" (GQNIYC, MKEPKF,... ) doit etre copiée 12 fois de suite. Cest a dire qu'en feuille2 cellule D4 la séquence commence et se termine en D64 pour 2012001 mais elle recommence en feuille 2 D65 avec 2012002, et pareil pour 2012003 jusqu'à 2012012. Pour chaque 20120XX il y a cette séquence qui se répète.
Tu dois savoir que la séquence feuille 1 D5:D65 qui est à copier (GQNIYC, MKEPKF,...) est en relation avec le Tableau croisé dynamique que tu vois en feuille 1 F4:U66. C'est à dire que le tableau pourra etre modifié avec ajout/suppression de lignes, ce qui modifiera la séquence qu'il y a en feuille1 D5:D65. Donc la macro devra prendre en compte cette variable de manière à ce qu'il n'y ait pas de décalages en feuille 2.
J'aimerai également en feuille 2 F4, une séquence de chiffre 6 qui suive l'éventuelle transformation de la colonne E (c'est à dire que si 2 lignes du tableau croisé sont supprimés, cela réduira le nombre de 20120XX de 2 lignes, ce qui devra engendrer la meme chose pour le nombre de "6" en colonne F).
Tu dois savoir que pour toutes cellules contenant 2012001 en E, alors les cellules en F seront un 6, pour 2012002 ca sera un 7 et 2012003 un 8, tout cela jusqu'à 2012012.
Je te mets un autre lien pour que tu vois a quoi j'aimerais que ca ressemble dans la feuille 2 du premier fichier que je t'ai envoyé.
http://cjoint.com/?0GdpKeUqZ0v
J'espere avoir été clair. Si tu decides de me laisser tomber, previens moi quand meme.
Merci Eric
PS: je t'avais mis des commentaires dans le fichier excel ca n'a pas marché ou est-ce qu'ils n'étaient pas utiles? o_O
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
3 juil. 2012 à 18:03
3 juil. 2012 à 18:03
Re,
Tu dois savoir que pour toutes cellules contenant 2012001 en E, alors les cellules en F seront un 6, pour 2012002 ca sera un 7 et 2012003 un 8, tout cela jusqu'à 2012012.
Je ne vois que des 6 dans ton tableau...
Au début tu demandais : et la copier 12 fois à la suite
Je la copie 12 fois avec 20120001 puis 2012002 etc sans me soucier des 6 et des 7 ?
Tu dois savoir que pour toutes cellules contenant 2012001 en E, alors les cellules en F seront un 6, pour 2012002 ca sera un 7 et 2012003 un 8, tout cela jusqu'à 2012012.
Je ne vois que des 6 dans ton tableau...
Au début tu demandais : et la copier 12 fois à la suite
Je la copie 12 fois avec 20120001 puis 2012002 etc sans me soucier des 6 et des 7 ?
viapif
Messages postés
11
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
9 juillet 2014
4 juil. 2012 à 10:54
4 juil. 2012 à 10:54
Pourtant en descendant plus bas, en F65 les 7 commencent et pareil en F126 les 8 commencent... C'est dans le fichier classeur 2. Tu vois les 201200X et la séquence copiée plusieurs fois sur le coté?
en effet, sans te soucier des 6 et des 7 en effet, une premiere copie de la séquence D5:D65 en 2012001 et une deuxieme en 2012002 etc...
en effet, sans te soucier des 6 et des 7 en effet, une premiere copie de la séquence D5:D65 en 2012001 et une deuxieme en 2012002 etc...
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
3 juil. 2012 à 18:27
3 juil. 2012 à 18:27
Re,
regarde si c'est conforme.
Pour simplifier le code il faut ajouter Séquence en Feuil2!D3 :
https://www.cjoint.com/?BGdszMlyiBj
eric
regarde si c'est conforme.
Pour simplifier le code il faut ajouter Séquence en Feuil2!D3 :
Sub copierSéquence() Const débutSeq As Long = 2012 ' mettre à jour selon le besoin Const nbCol As Long = 10 ' nombre de colonnes à nettoyer sur shDest ' Dim shSource As Worksheet, shDest As Worksheet, plage As Range, celDest As Range Dim i As Long Set shSource = Worksheets("Feuil1") Set shDest = Worksheets("Feuil2") ' nettoyer shDest.[D4].Resize(shDest.[D65536].End(xlUp).Row - 3, nbCol).ClearContents 'remplir Set plage = Range(shSource.[D5], shSource.[D:D].Find("Total général", LookIn:=xlValues, LookAt:=xlWhole).Offset(-1, 0)) Set celDest = shDest.[D:D].Find("Séquence", LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0) If Not plage Is Nothing Then For i = 1 To 12 celDest.Resize(plage.Rows.Count, 1) = plage.Value celDest.Resize(plage.Rows.Count, 1).Offset(0, 1) = débutSeq * 1000 + i Set celDest = celDest.End(xlDown).Offset(1, 0) Next i End If End Sub
https://www.cjoint.com/?BGdszMlyiBj
eric
viapif
Messages postés
11
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
9 juillet 2014
4 juil. 2012 à 10:57
4 juil. 2012 à 10:57
Tout d'abord merci Eric pour ton temps.
Je viens d'essayer la macro mais une erreur Débogage est apparu pour cette ligne:
shDest.[D4].Resize(shDest.[D65536].End(xlUp).Row - 3, nbCol).ClearContents
Je t'avoue que je ne sais pas comment la résoudre sinon je ne t'aurais pas demandé ton aide au départ ;)
Que je dois faire?
V.
Je viens d'essayer la macro mais une erreur Débogage est apparu pour cette ligne:
shDest.[D4].Resize(shDest.[D65536].End(xlUp).Row - 3, nbCol).ClearContents
Je t'avoue que je ne sais pas comment la résoudre sinon je ne t'aurais pas demandé ton aide au départ ;)
Que je dois faire?
V.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
4 juil. 2012 à 11:51
4 juil. 2012 à 11:51
Bonjour,
Effectivement un cas oublié...
Remplace par :
eric
Effectivement un cas oublié...
Remplace par :
' nettoyer If shDest.[D65536].End(xlUp).Row - 3 Then shDest.[D4].Resize(shDest.[D65536].End(xlUp).Row - 3, nbCol).ClearContents End If
eric
viapif
Messages postés
11
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
9 juillet 2014
4 juil. 2012 à 12:16
4 juil. 2012 à 12:16
C'est parfait! je te remercie Eric!
viapif
Messages postés
11
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
9 juillet 2014
4 juil. 2012 à 12:21
4 juil. 2012 à 12:21
Pour les 6 en colonne F dont je te parlais cetait sur le deuxieme envois que je t'ai fait:
https://www.cjoint.com/?0GdpKeUqZ0v
le nom c'est classeur 2
tu as la colonne E contenant 201200X, en colonne F le chiffre 6 pour 2012001, 7 pour 2012002...
2012003 8
2012004 9
2012005 10
2012006 11
2012007 12
2012008 13
2012009 14
2012010 15
2012011 16
2012012 17
J'aimerai que les chiffre en F correpondent à ceux de la colonne E pour chaque cellules
https://www.cjoint.com/?0GdpKeUqZ0v
le nom c'est classeur 2
tu as la colonne E contenant 201200X, en colonne F le chiffre 6 pour 2012001, 7 pour 2012002...
2012003 8
2012004 9
2012005 10
2012006 11
2012007 12
2012008 13
2012009 14
2012010 15
2012011 16
2012012 17
J'aimerai que les chiffre en F correpondent à ceux de la colonne E pour chaque cellules
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié par eriiic le 4/07/2012 à 12:38
Modifié par eriiic le 4/07/2012 à 12:38
Re,
en clair tu veux que j'ajoute 6 en F s'il y a 2012001 en E etc ?
eric
en clair tu veux que j'ajoute 6 en F s'il y a 2012001 en E etc ?
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
4 juil. 2012 à 15:15
4 juil. 2012 à 15:15
voilà : https://www.cjoint.com/?BGeppAsuW2S
eric
eric
viapif
Messages postés
11
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
9 juillet 2014
4 juil. 2012 à 15:24
4 juil. 2012 à 15:24
Super!!! merci beaucoup Eric!! Dsl du temps que ca a pu mettre.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
4 juil. 2012 à 16:48
4 juil. 2012 à 16:48
Pas de pb... :-)
Je met en résolu pour toi.
eric
Je met en résolu pour toi.
eric
viapif
Messages postés
11
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
9 juillet 2014
4 juil. 2012 à 16:57
4 juil. 2012 à 16:57
Me revoici, j'ai une dernière question...
Quand je lance ma macro dans la feuille soucre tout se déroule très bien, j'ai ma séquence, mes 201200X et mes 6-7-8-9... en revanche toutes mes données de la feuille sont supprimés par la suite sauf biensur les données de macro... est-ce qu'il y a quelque chose a faire en particulier?
Merci Eric
Quand je lance ma macro dans la feuille soucre tout se déroule très bien, j'ai ma séquence, mes 201200X et mes 6-7-8-9... en revanche toutes mes données de la feuille sont supprimés par la suite sauf biensur les données de macro... est-ce qu'il y a quelque chose a faire en particulier?
Merci Eric
viapif
Messages postés
11
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
9 juillet 2014
4 juil. 2012 à 17:06
4 juil. 2012 à 17:06
En fait c'est toutes les colonnes après F qui sont supprimés, sinon colonne A B et C n'ont rien
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié par eriiic le 4/07/2012 à 17:13
Modifié par eriiic le 4/07/2012 à 17:13
Tu n'es pas très curieux sur le code....
Je t'ai mis 2 constantes en début de code.
Const débutSeq As Long = 2012 ' mettre à jour selon le besoin
Const nbCol As Long = 10 ' nombre de colonnes à nettoyer sur shDest
Une pour le 2012 de début (je me suis dit que si c'était l'année ça serait amené à varier),
et une justement pour le nombre de colonnes à nettoyer (actuellement à 10)
Si tu la passes à 3, les lignes en surplus (par exemple tu passes dans ton TCD de 150 lignes à 100) ne seront pas nettoyées sur les autres colonnes.
eric
Je t'ai mis 2 constantes en début de code.
Const débutSeq As Long = 2012 ' mettre à jour selon le besoin
Const nbCol As Long = 10 ' nombre de colonnes à nettoyer sur shDest
Une pour le 2012 de début (je me suis dit que si c'était l'année ça serait amené à varier),
et une justement pour le nombre de colonnes à nettoyer (actuellement à 10)
Si tu la passes à 3, les lignes en surplus (par exemple tu passes dans ton TCD de 150 lignes à 100) ne seront pas nettoyées sur les autres colonnes.
eric