Ventilation feuilles

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
 

titiborregan5

XLDnaute Accro
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
 

gabo29

XLDnaute Junior
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

  • Classeur111.xls
    27 KB · Affichages: 35
  • Classeur111.xls
    27 KB · Affichages: 41
  • Classeur111.xls
    27 KB · Affichages: 36

titiborregan5

XLDnaute Accro
Re : Ventilation feuilles

Et on ventile en fonction de quoi? je ne comprends rien. je t'ai dit que c'était à cause du offset et t'ai donné une solution alternative et je ne la vois pas...
Expose précisément ton problème si tu veux qu'on t'aide...
 

gabo29

XLDnaute Junior
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
 

titiborregan5

XLDnaute Accro
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

  • Classeur111.xls
    36.5 KB · Affichages: 32
  • Classeur111.xls
    36.5 KB · Affichages: 38
  • Classeur111.xls
    36.5 KB · Affichages: 40
Dernière édition:

gabo29

XLDnaute Junior
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
 

Discussions similaires

Réponses
2
Affichages
267

Statistiques des forums

Discussions
312 319
Messages
2 087 213
Membres
103 494
dernier inscrit
JP9231