Exporter chaque ligne en une nouvelle feuille

Bonjour a tous,

Je suis nouveau ici et j'aurais bien besoin de votre aide. Dans le cadre de mon travail, je dois exporter depuis un fichier excel contenant les donnees des employes (une ligne = un employe) chaque ligne en une nouvelle feuille dans ce meme document. Auriez-vous une formule magique pour ce faire ?

Ps : j'ecris depuis un clavier qwerty, desole pour les accents

Merci beaucoup par avance

Ci-joint un fichier dans lequel ta demande est résolue.

Tu peux appuyer sur ALT+F11, puis aller dans "Module 1" pour voir le code.

Le voici en-dessous tout de même :

Sub deplacer()
Dim i As Integer
i = 2

Do Until Sheets("Feuil1").Range("A" & i) = ""
Sheets("Feuil1").Select
Range("A" & i).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Range("A" & i).Select
ActiveSheet.Paste

i = i + 1
Loop

End Sub

Cordialement.

16pour-lsmdwb.xlsm (18.35 Ko)

Bonjour le forum,

• Que ce passera-t-il si tu lances plusieurs fois la macro ?

• Les lignes éventuellement modifiées écraseront les anciennes ou elles viendront s'ajouter une ligne en-dessous des celles(s) existante(s) ?

• quel est le nom de l'onglet où se trouvent les données ?

En attendant tes réponses...

T'adressais-tu à moi ? Si oui, et bien les anciennes lignes se font écraser lorsqu'on lance la macro plusieurs fois.

Cordialement

Re,

Non Stéphane, je m'adressais à "consonnes, voyelles"... Mais je n'ai pas beaucoup aimé ta solution avec tous ces Select qui ne sont pas nécessaires et qui ne font que ralentir l'exécution du code... J'attends donc une réponse pour proposer un code adapté.

Qui est "consonnes, voyelles" ?

Re,

Stéphane t'es pas bien futfut !... "Consonnes,Voyelles" est l'auteur de ce fil car son identifiant est carrément imprononçable... It was a joke ! comme disent les espagnols...

Merci Stephane Guidon pour ta réponse. Cependant, je n'ai malheureusement pas l'impression qu'elle résolve mon problème... J'aimerais que par un quelconque moyen, chaque ligne présente dans ma feuille 1 s'exporte dans une nouvelle feuille.

Par exemple, ligne 2 s'exporte avec ses données en feuille 2, ligne 3 en feuille 3, ligne 4 en feuille 4 et ainsi de suite. J'espère être clair ^^'

Re,

Arf ! "Consonnes, Voyelles" m'a carrément zappé. Manque d'humour sans doute... Ou c'est moi qui suis trop lourd ?...

Je n'ai pas zappé, ton post m'a même fait rire mais j'étais trop focalisé sur la réponse de Stephane au problème ^^'

Re,

Alors pourquoi tu ne réponds pas à mes questions ? J'ai un code à te proposer en fonction de tes réponses...

Puisqu'il n'y en a pas voici une proposition qui j'espère conviendra :

Sub Macro1()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim I As Integer 'déclare la variable I (Incrément)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)

Application.DisplayAlerts = False 'bloque les messages d'Excel
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set OS = Sheets("Feuil1") 'définit l'onglet source OS (à adapter) si c'est forcément le premier on peut écrire : Set OS = Sheets(1)
For I = Sheets.Count To 2 Step -1 'boucle inversée sur tous les onglets du classeur
    'si le nom de l'onglet n'est pas le nom de l'onglet saource, supprime l'onglet
    If Not Sheets(I).Name = OS.Name Then Sheets(I).Delete
Next I 'prochain onglet de la boucle
DL = OS.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A) de l'onglet source OS
For I = 1 To DL 'boucle de 1 à DL
    Sheets.Add After:=Sheets(Sheets.Count) 'ajoute un ongleten dernière position
    ActiveSheet.Name = "Onglet " & I 'renomme l'onglet (à adapter)
    OS.Rows(I).Cut ActiveSheet.Range("A1") 'copie la ligne I de l'onglet source et la colle dans A1 de l'onglet actif
Next I 'prochaine ligne de la boucle
OS.Delete 'supprime l'onglet source OS (si tu dois le garder, supprime cette ligne)
Sheets(1).Activate 'active le premier onglet du classeur
Application.DisplayAlerts = True 'permet les messages d'Excel
Application.ScreenUpdating = False 'affiche les rafraîchissements d'écran
End Sub

Pff, desole ThauTheme mais je ne comprends absolument rien, je n'ai jamais fait de VBA... De plus je n'ai pas repondu a tes questions car je ne les aie pas comprises non plus

L'onglet ou se trouve les donnees serait par exemple "origine", je cherche un moyen par lequel Excel copierait automatiquement une ligne de "origine" dans une nouvelle feuille qu'il creerait au prealable. Les lignes modifiees ecraseraient les anciennes.

bonjour à tous

SVP je serai également intéressée par la solution à ce problème. pareil je connais rien au VBA et macro, pour moi il faudrait en plus que les info de la ligne extraite soit mis en forme autrement (genre formulaire)

d'ailleurs est ce que cela serait faisable en passant par un formulaire? genre le formulaire qui génère un fiche (dans mon cas par agent ) et un tableau récapitulatif de tous les agents? il faudrait que quand on modifie l'un l'autre se modifie également

merci à tous ceux qui prendrons le temps de répondre

si possible en langage pas trop compliqué

Re,

Je suis content que ma proposition vous ait plu. Ça tombe bien car je viens de m'acheter un violon et j'ai une furieuse envie d'uriner...Tiens on va voir si ça passe ça aux modos...

Rechercher des sujets similaires à "exporter chaque ligne nouvelle feuille"