| ||||||||||||||||||||||||||||||||||
Nouvelle astucienne | Bonsoir, Je trouve généralement des solutions sur ce forum mais là.... Je dois recopier des lignes de mon fichier client. Je vais mettre un exemple car difficile à expliquer. Ex: DOS N° Client Forme juridique NOM Prénom ADRS stat ADRESSE LIGNE 1 reglement VIL C C828 M DUPONT Jacques La Rose chèque 15 jours 17000 LA ROCHELLE A L01 M DUPONT Jacques La Rose 17000 LA ROCHELLE A B00125 M. ASTUCES Laurent Le Port Chèque 30 jours 15140 BESSE A B0001558 M. TAKATOUKITE Gabriel BP 20 chèque 15 jours 15200 SALIN A C0045858 SELARL DU PORT BP 1524 Traite à 30 jours 24200 SARLAT J'aimerai dupliquer les lignes en dessous de chacunes d'elles. Comme mon exemple en rouge. et que pour ma deuxième ligne, mettre un A au lieu de C - le L01 se mette à la place du C828. que le mode de règlement ne se répète pas dans la 2è ligne Peut - on faire cette action en automatique? sachant que j'ai plus de 7000 lignes Je crois que c'est compliqué mais on ne sait jamais. Merci d'avance pour votre aide
Modifié par takatoukité le 19/11/2009 20:22 | |||||||||||||||||||||||||||||||||
Publicité | ||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||
Petit astucien | bonjour pas clair | |||||||||||||||||||||||||||||||||
Nouvelle astucienne | Oui effectivement ce n'est pas clair mais au départ j'avais un tableau avant d'envoyer mon message et à l'arrivée, c'est différent?? Es-ce plus lisible comme ça? | |||||||||||||||||||||||||||||||||
Nouvelle astucienne |
J'ai refait mon tableau sous word, j'espère que se sera plus facile. Merci | |||||||||||||||||||||||||||||||||
Petit astucien | on peut le faire certainement en visual Basic, mais ce n'est pas mon truc. Attendons le passage de Ferrand où de quelqu'un féru en la matière. | |||||||||||||||||||||||||||||||||
Astucien | procole a écrit : Ouaf ! Merci de ta confiance procole mais je ne prétends nullement à un rôle de référence en la matière Je réponds sur ce que je sais faire dans les périodes où j'en ai le loisir ( en général ) et je vais souvent moi aussi chercher des solutions ailleurs même si cela n'apparaît pas sur le forum. Et il ne manque pas d'astuciens pour produire du code VBA qui fonctionne parfaitement. Il est vrai que Galopin se fait plutôt rare ces temps-ci (et il lui faudrait sans doute autre chose pour le motiver dans sa retraite) [lui, il fait référence dans le forum depuis longtemps...] et Bérylion m'a l'air aussi de passer en coup de vent en ce moment. Mais il en reste bien d'autres: Gilbert RGI qui avec discrétion apporte quantité de réponses (il me semble même qu'il ait résolu un problème du même type très rapidement... pour lequel je me refusais à me lancer en l'absence des informations que j'estimais nécessaires ), notre ami Marmotte qui tout en prétendant avoir de nombreuses lacunes aligne pas mal de lignes de code... et bien d'autres que tu croiseras à un moment ou un autre (certains que je n'ai pas vu depuis longtemps, mais j'ai moi-même fait une réapparition en mai ou juin après plusieurs mois d'absence). Bon, laissons l'histoire du forum... Le problème de takatoukité ? Il est vrai que c'est plus élégant en VBA mais à cette heure-ci (il est 1h30 chez moi), et puis je n'aime pas me lancer dans une macro de recopie sans un fichier modèle. Donc pour aller au plus vite je lui propose une solution par formule qui devrait marcher tout aussi bien et être aussi rapide globalement. Je suppose qu'il faut dupliquer toutes les lignes de la liste qui est sur une feuille que nous appellerons Feuil1 (à remplacer par son nom). La liste proprement dite commence à la ligne 2. 10 colonnes, donc A à J. Sur une nouvelle feuille où l'on aura recopié les intitulés de champs ligne 1, on commence la liste dupliquée également ligne2. En A2, mettre la formule: =INDIRECT("Feuil1!"&CAR(COLONNE()+64)&LIGNE()/2+1) Sélectionner A2 et tirer cette formule jusqu'en J2. Cela recopiera la première ligne de la liste. En A3, mettre: ="A" ; en B3: ="L01" ; si ces mentions doivent varier selon les lignes, il faudrait savoir comment (en l'absence d'autre indication, je les suppose constantes). En C3, mettre: =C2. Tirer cette dernière formule jusqu'en J2. L'effacer là où l'on ne veut pas reproduire la ligne précédente (I3 semble-t-il). Ensuite sélectionner les deux lignes de formules, la plage: A2:J3, puis tirer le tout pour recopier sur un nombre de lignes double de la liste initiale. Toute la liste initiale sera recopiée et dupliquée. Pour finaliser l'opération, on pourra copier l'ensemble de la liste sélectionnée et coller les valeurs sur elles-mêmes de façon à supprimer les formules (qui ne seront plus nécessaires). Voilà. A plus. | |||||||||||||||||||||||||||||||||
Astucien | Bonjour
le plus difficile parfois c'est de comprendre la demande
Salutations Gilbert_RGI
edit : Gilbert RGI qui avec discrétion apporte quantité de réponses Merci Ferrand | |||||||||||||||||||||||||||||||||
Nouvelle astucienne | Alors là, chapeau bas Ferrant , ça marche et tu ne peux pas t’imaginer ma joie aujourd'hui. Merci merci merci..... Je ne pensais pas avoir une réponse aussi rapide. Merci également aux personnes qui se sont ou se penchent sur mon problème. A bientôt | |||||||||||||||||||||||||||||||||
Astucien | Bien volontiers Gilbert. | |||||||||||||||||||||||||||||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|