Ventilation feuilles

  • Initiateur de la discussion Initiateur de la discussion gabo29
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gabo29

XLDnaute Junior
Bonjour,

Le code ci-dessous me permet de ventiler ma feuil1 sur plusieurs feuilles. Par contre au moment du coller dans chaque onglet, la ligne 1 reste vide et le contenu se colle à partir de la ligne 2.

Dim CurCell As Range

Application.ScreenUpdating = False

Columns("A:BQ").Sort Key1:=Range("D1"), Order1:=xlAscending, Key2:=Range("B1"), Order2:=xlAscending, Header:=xlGuess
Range("A1").Select

Set CurCell = ThisWorkbook.Sheets("Feuil1").Range("D1")

While CurCell.Value <> vbNullString
With GetSheet(CurCell.Value)
CurCell.EntireRow.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
End With

Set CurCell = CurCell.Offset(1, 0)
Columns("A:BQ").Columns.AutoFit
Wend

Application.DisplayAlerts = 1
Sheets("Feuil1").Activate


End Sub


Public Function GetSheet(SheetName As String) As Worksheet

Dim CurSheet As Worksheet, Exist As Boolean
Exist = False
For Each CurSheet In ThisWorkbook.Sheets
If CurSheet.Name = SheetName Then Exist = True
Next CurSheet
If Not Exist Then
ThisWorkbook.Sheets.Add after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = SheetName
End If
Set GetSheet = ThisWorkbook.Worksheets(SheetName)
End Function

Pourriez-vous m'aider svp.

Merci
Gabo29
 
Re : Ventilation feuilles

Bonjour gabo, le forum,
sûrement à cause du offset(1,0)

Il décale lorsqu'il y a qqch d'écrit pour se mettre à la suite c'est ok mais il se décale aussi de 1 à 2 quand rien n'est écrit...
Peut-être en le combinant avec un
if range("a1").value ="" then
tu copies en A1
else
tu remets ton offset
end if
 
Re : Ventilation feuilles

Re,

Je me permets de relancer mon post car je ne trouve pas de solution. En pièce jointe un fichier excel avec mon problème : Lorsque la ventilation se fait sur les nouveaux onglets créés, le collage se fait à partir de la ligne 2 et non la 1 comme je voudrais.
Avez vous un idée ?
Cdt,
Gabo29
 

Pièces jointes

Re : Ventilation feuilles

Oula...faut pas s'énerver!!!
on ventile en fonction des données qui sont en colonne D, c'est écrit dans mon premier post dans le code de la macro. Dans le fichier que j'ai joint, en lançant la macro on comprend mon problème, pour les nouveaux onglets créés, les données se collent à partir de la ligne2 et non 1
 
Re : Ventilation feuilles

Je ne me suis pas énervé rassure toi!
le décalage d'1 ligne vient du offset.
ce que tu peux faire si le if ne marche pas, c'est tout coller à la suite avec ton offset et en fin de macro lui dire de supprimer les lignes 1 de chaque feuille créées?

Je te rajoute le fichier, j'ai mis le if dont je parlais plus haut!
 

Pièces jointes

Dernière édition:
Re : Ventilation feuilles

Bonjour titiborregan5,

Merci bcp pour ton retour, c'est bien ça qu'il me fallait. Lorsque j'ai rajouté ton If range...End If la première fois, je me suis trompé sur le code, désolé
Encore merci
Gabo29
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
235
Réponses
2
Affichages
153
Réponses
2
Affichages
809
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Retour