erreur 1004

AthessWinbug

XLDnaute Nouveau
bonjour à tous,

j'ai créé un fichier de pointage pour mes gars en atelier, le problème lorsqu'un gars rentre ses heures et qu'il les valide, ces données sont automatiquement copiées sur "feuil1" et classées par date, c'est à ce moment que l'erreur 1004 arrive et c'est cette ligne qui ne va pas
[A100000].End(xlUp).Offset(1, Ncol).Resize(Nlig, 1).Value = Sheets(s).Name
Code:
Sheets("Feuil1").[A1].CurrentRegion.Offset(1, 0).Clear
   For Each s In Array("1", "2", "3", "4", "5", "6", "7", "8", "9")
      Nlig = Sheets(s).[A100000].End(xlUp).Row - 1
      Ncol = Sheets(s).[A1].CurrentRegion.Columns.Count



 ========>     [A100000].End(xlUp).Offset(1, Ncol).Resize(Nlig, 1).Value = Sheets(s).Name



      [A100000].End(xlUp).Offset(1, 0).Resize(Nlig, Ncol).Value = _
      Sheets(s).[A2].Resize(Nlig, Ncol).Value
   Next s
      Range("A2:H100000").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range( _
        "A2:A100000"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortTextAsNumbers
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("A2:H100000")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

et je ne sais pas quelle manip j'aurais pu faire, car cela fonctionnait avant. Merci à tous
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : erreur 1004

Bonjour le fil, bonjour le forum,

C'est bien ce que je t'avais dit dans le post #2 ! La variable Nlig vaut 0 quand s=2 et ça fait planter la ligne :
Code:
 [A100000].End(xlUp).Offset(1, Ncol).Resize(Nlig, 1).Value = Sheets(s).Name
à cause du Resize(0, 1). Il te faudrait peut-être rajouter une condition If Nlig > 0 Then...

Mis à part le fait que tu n'écoutes pas ce qu'on te dit, chapeau pour la qualité graphique de ton fichier...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : erreur 1004

Bonjour AW bonjour le forum,

Ton fil commence par :
bonjour à tous,
j'ai créé un fichier
étrange pour quelqu'un qui n'y connait pas grand chose non ?...
Peut-être comme ça :
Code:
For Each s In Array("1", "2", "3", "4", "5", "6", "7", "8", "9")
    Nlig = Sheets(s).[A100000].End(xlUp).Row - 1
    Ncol = Sheets(s).[A1].CurrentRegion.Columns.Count
    If Nlig > 0 Then
        [A100000].End(xlUp).Offset(1, Ncol).Resize(Nlig, 1).Value = Sheets(s).Name
        If Ncol > 0 Then [A100000].End(xlUp).Offset(1, 0).Resize(Nlig, Ncol).Value = Sheets(s).[A2].Resize(Nlig, Ncol).Value
    End If
Next s
 
Dernière édition:

AthessWinbug

XLDnaute Nouveau
Re : erreur 1004

Bonjour Robert et à tous,

Alors OUI j'assume, j'ai créé ce fichier MAIS en ce qui concerne certaines macros, j'ai piqué à droite à gauche sur internet que j'ai replacé dans mon contexte. J'avoue par contre qu'un pb comme celui là, je n'ai pas le niveau requis en VB.

Tu n'as pas ta langue dans ta poche et j'aime ça :)


Bref, j'ai mis à jour le fichier avec ton bout de code et ça marche formidablement bien!!!!

Tu restera à jamais mon mentor Robert, respect à toi, et mille merci. ;-)
 

Discussions similaires

Statistiques des forums

Discussions
312 687
Messages
2 090 956
Membres
104 705
dernier inscrit
Mike72