Extraire intervalle de lignes dans des onglets

Bonjour tout le monde,

Actuellement je travail sur une base de donnée dont j'aimerais en extraire des lignes dans des onglets.

Vous trouverais en pièce jointe un fichier excel illustrant cette demande.

La structure de ma base de donnée est séparé par 7 titre nommé "Tit" J'aurais besoin d'extraire les lignes que j'ai entre mes Tit dans des onglets respectifs.

Le premier "Tit" et intervalle extrait serait ajouté à l'onglet n° 1 etc.

Je vous remercie par avance de votre aide précieuse.

Cordialement,

Louis

6macro-lignes.xlsx (13.73 Ko)

Bonjour

Un peu léger comme exemple :

  • Tit change ou est toujours la même valeur ?
  • Combien de colonnes et sont-elles toujours remplies sauf la ligne Tit ?
  • Les onglets sont-ils modifiés ensuite ou c'est juste pour visualiser ?

Bonjour 78Chris,

Merci de votre réponse,

En effet ma première colonne "Position" est uniquement utilisé par ces codes qui structures ma base de donné. "tit" signifie titre et sur cette même ligne il y aura le titre du chapitre correspondant au ligne en-dessous de celle-ci.

Cette colonne n'est pas toujours remplie il y a des cellule vide mais tout aussi importante à extraire les lignes correspondantes à ces cellules.

Les onglets peuvent être effet modifiés ensuite.

Je reste à votre dispo si vous avez des questions ! ; )

RE

Sous réserve de nommer tous les onglets de même façon : pas tantôt avec un espace après ° tantôt non et d'avoir déjà les onglets

Sub répartition()
Dim Derlig As Long, I As Long, Debut As Long, Nbo As Byte
Derlig = Worksheets("Base de donnée").Range("D" & Cells.Rows.Count).End(xlUp).Row
For I = 7 To Derlig
    If Cells(I, 4).Value = "Tit" Or I = Derlig Then
        If Debut <> 0 Then
            Range("D" & Debut & ":" & "E" & I - 1).Copy Destination:=Worksheets("N°(" & Nbo & ")").Cells(1, 1)
        End If
        Debut = I
        Nbo = Nbo + 1
    End If
Next I
End Sub

Sinonn poste un fichier plus représentatif et plus d'explications.

Merci 78Chris,

En effet voilà ci-joint un fichier plus précis.

Car le code actuelle semble ne pas fonctionner malgré les changements de colonne etc.

J'attend ta réponse

Merci de ton aide

5template.xlsx (109.17 Ko)

Bonjour 78Chris,

je me permets de faire un double post pour te dire que ton fonctionne correctement !!! c'est parfait merci.

A présent j'aimerais créer une petite macro pour agencer mes tailles etc, aurais tu un bon lien pour moi ?

Et mini question pour ta macro si je veux faire commencer mes copies ligne 2 je le met où ?

Merci d'avance

Re

Ligne 2 de la source ou de la cible ?

Pas compris la question à propos de tailles

Pardon j'ai oublié quelques mots dans la précipitation,

ligne 2 pour la cible

Agencer mes tailles de colonnes et supprimer celles dont je n'ai pas besoin en un clic de bouton

Louis

RE

En principe tout tableau doit commencer en A1 mais bon

Destination:=Worksheets("N°(" & Nbo & ")").Cells(2, 1)
Cells.EntireColumn.AutoFit

ajuste la largeur de l'ensemble des colonnes mais ne marche pas en cas de retour à la ligne automatique...

Ohhh oui parfait !!!

je viens de tomber sur l'enregistrement de macro donc c'est parfait, cependant je ne sais pas comment l'appliquer sur tout mes onglets d'un seul coup... :/

RE

    Sheets(Array("n°(1)", "n°(2)", "n°(3)", "n°(4)", "n°(5)", "n°(6)", "n°(7)")).Select
    Cells.EntireColumn.AutoFit
    Sheets("base de donnée").Activate

Parfait chef, ça plus l'enregistrement c'est niquel.

J'ai juste un soucis, en effet j'ai créé un bouton dans lequel je lui est assigné la macro répartition pour que l'utilisateur n'est pas à ouvrir VBA. ça marche niquel tout fonctionne correctement sauf que le bouton se duplique dans l'onglet n°1 et uniquement celui là.

Or j'aimerais qu'il ne se duplique pas du tout lorsque je clique dessus. Une idée d'où cela peut-il venir ?

Merci d'avance,

Louis

Re

Il doit être dans la zone copiée : le déplacer

Trop fort ahaha !!!!

Merci infiniment de ton aide !! un gros gg

Louis

Rechercher des sujets similaires à "extraire intervalle lignes onglets"