Vba Excel :Insertion de lignes entre 2 lignes non vides

Résolu/Fermé
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
- 30 avril 2013 à 11:57
 foo - 2 mai 2013 à 11:33
Bonjour


J'aurai besoin de votre aide, pour un petit code pour lequel je n'ai pas d'idée sur la manière de faire... du moins j'ai bien l'idée mais je ne sais pas comment le "dire" en Vba

En gros ( et au vu du fichier joint ) je cherche a integrer des données entre des lignes ( non vides) ( dans le fichier test il n'y a que 3 lignes mais cela peut aller jusqu'a + de 200


Dans l'exemple du fichier joint :

- je colle les données de base dans l'onglet import

- l'idée serait que lorsque je colle les infos dans import, je lance un petit bouton magique et qu'excel, dans la feuille Resultat, m'affiche (a partir de la ligne 6 - il faut garder les infos du dessus) après chaque ligne le contenu du pavé repris dans l'onglet tmp (cellules A1:D15)

Pour se donner une idée de ce qu'il me faudrait en réél et comem je suis pas sur d'avoir été super clair, j'ai mis une copie ecran de ce que je cherche dans l'onglet "rendu final" qui est voué a ne pas etre présent en réalité

Voila si vous pouviez me donner un coup de main, ca me ferai gagner pas mal de temps plutot que de me faire du copier coller a rallonge


Un petit détail technique, je bosse sous excel 2002... je sais que parfois ca peut poser des problemes de codes


Fichier démo : https://www.cjoint.com/?0DEl04qhKqb


Merci beaucoup par avance a ceux qui pourrait me donner un solution

Bonne journée

Céd

7 réponses

Bonjour

voila un petit truc si j'ais bien compris

Sub Test()
Application.ScreenUpdating = False
DernLig = Feuil2.Range("A" & Rows.Count).End(xlUp).Row
Lig = 6
For L = 1 To DernLig
Feuil2.Range("A" & L & ":D" & L).Copy
Feuil4.Range("A" & Lig).PasteSpecial xlPasteValues
Lig = Lig + 1
Next
Feuil3.Range("A2:A13").Copy
Feuil4.Range("A" & Lig + 5).PasteSpecial xlPasteAll
Application.ScreenUpdating = True
End Sub

A+

Maurice
0
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
3
30 avril 2013 à 14:47
Re bonjour Maurice


alors j'ai testé en mettant un tit bouton de controle


j'ai ce rendu à l'ecran https://www.cjoint.com/?0DEoREXgV0R

Ca n'est aps ce que j'aurai voulu,

en gros il faudrait en ligne 6 de la feuille Resultat, le contenu de la ligne 1 de la feuille import. juste en dessous il faudrait le pavé de la feuille TMP

Puis la seconde ligne de la feuilel import, et le pavé à la suite

etc etc ... pour x lignes potentiellement

D'ou mon idée reprise dans le titre je pensais plutot a ce qu'il recherche chaque ligne et qu'il y integre le pavé
0
Bonjour
desoler
alor peux etre un truc comme ca

Sub Test()
Application.ScreenUpdating = False
Feuil4.Select
DernLig = Feuil2.Range("A" & Rows.Count).End(xlUp).Row
Lig = 6
Rows("6:2000").Delete
For L = 1 To DernLig
' Copy 1 Ligne Import
Feuil2.Range("A" & L & ":D" & L).Copy
Range("A" & Lig).PasteSpecial xlPasteValues
Lig = Lig + 2
' Copy de Tmp
Feuil3.Range("A2:A13").Copy
Range("A" & Lig).PasteSpecial xlPasteAll
Lig = Lig + 13
Next
Application.ScreenUpdating = True
End Sub

A+
0
f894009
Messages postés
16496
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 mai 2022
1 633
30 avril 2013 à 17:09
Bonjour a vous deux,

votre fichier modifie, si j'ai bien compris votre besoin:

https://www.cjoint.com/?CDErh0D77Qq

Bonnes suite
0
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
3
1 mai 2013 à 17:27
bonjour

tout d'abord merci beaucoup , ton fichier marche nickel a quelques petites exceptions, il commence a se "coller " sur la feuilel de résultat un peu trop haut

en effet normalement j'ai deux lignes supplementaires qui disparaissent lors de la mise a jour

Il faudrait que la première ligne se mette en ligne 6 de la feuille résultat, et j"avoue j'ai pas trouvé sur ton code

Merci d'avance si tu peux y jeter un coup d'oeil, sinon je rajouterai au pire un bout de code pour la mise en forme a la suite de ta macro

bonne journée
0
Bonsoir

Voila jais fait des modif

http://cjoint.com/?3DEtCPnKosy

A+
0
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
3
1 mai 2013 à 17:22
bonjour

merci pour ton aide, mais apparament il y a un decallage lors de la macro tout les champs partent sur le coté droit

la solution de F89 ( au dessus) marche mieux avec quelques manques mais c'est plus ce que je cherchais , merci beaucoup en tout cas
0

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

Posez votre question
Bonjour
ses normal il faut simplement changer la plage range je pense que tu peux le faire HI
il faut bien que tu travail un peux
A+
0
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
3
1 mai 2013 à 18:54
bah tu sais je me rencard pas mal avec des codes a droite a gauche et apres j'essaye de transposer un max mais là j avoue j'ai du passer a coté, quand je vois ce que tu es capable de réaliser ( j ai pas encore eu le temps d eplucher le resultat sur mon autre post, mais je sais qu'il y a deja de forte chance ( si je comprend le code) que je puisse l'utiliser sur une autre interface ( rien que le panneau qui s'ouvre avec la liste, perso je suis fan) ;-)
0
f894009
Messages postés
16496
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 mai 2022
1 633
1 mai 2013 à 17:36
Bonjour,

Code modifie pour ecriture en A6 pour le premier sujet

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

Bonne suite
0
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
3
1 mai 2013 à 19:06
génial apaprament c'est tout bon

un big merci
0
Bonjour
avec un userform pour voir
ca peux te servir pour autre chose

http://cjoint.com/?3EclFkabIdc

A+

Maurice
0