Vba Excel :Insertion de lignes entre 2 lignes non vides
Résolu
7808622H
Messages postés
292
Date d'inscription
Statut
Membre
Dernière intervention
-
foo -
foo -
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
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
A voir également:
- Vba Excel :Insertion de lignes entre 2 lignes non vides
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
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
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
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+
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+
Bonjour a vous deux,
votre fichier modifie, si j'ai bien compris votre besoin:
https://www.cjoint.com/?CDErh0D77Qq
Bonnes suite
votre fichier modifie, si j'ai bien compris votre besoin:
https://www.cjoint.com/?CDErh0D77Qq
Bonnes suite
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
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
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+
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+
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) ;-)
Bonjour,
Code modifie pour ecriture en A6 pour le premier sujet
https://www.cjoint.com/c/CEbrJ3FiN4C
Bonne suite
Code modifie pour ecriture en A6 pour le premier sujet
https://www.cjoint.com/c/CEbrJ3FiN4C
Bonne suite
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é