Reproduire des séries dans excel 2007

Résolu
8LESERGILA Messages postés 19 Statut Membre -  
8LESERGILA Messages postés 19 Statut Membre -
étant nouveau, je veux d'abord vous dire bonjour,
voici mon problème résumé, car j'ai des fichiers de plus de 10000 lignes:
AVANT--------------------------------------APRES
A1--------B1--------C1---------------------A1-----------B1------------C1
jules----------------carotte---------------jules---------1--------------carotte
----------------------salade----------------jules---------2--------------salade

alain----------------chou--------------------alain--------1-------------chou
-----------------------navet------------------alain--------2-------------navet
-----------------------poire-------------------alain--------3-------------poire
-----------------------pain--------------------alain--------4-------------pain
voudriez-vous m'indiquer la méthode la plus simple et la plus rapide, compte tenu que je suis nul ?
merci
lesergila

5 réponses

  1. 8LESERGILA Messages postés 19 Statut Membre
     
    bonjour,

    merci eriiic,
    mais en dehors de vba point de salut ???
    de plus pas trace de macro quand j'ouvre le lien

    lesergila
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      pas trace de macro quand j'ouvre le lien
      Alt+F11, le code est dans le module Feuil1
      Ici code légèrement modifié pour qu'il s'exécute sur la feuille active de n'importe quel classeur ouvert.
      Tu le colles dans un module Standard et tu peux traiter tes fichiers les un derrière les autres sans leur mettre le code :
      Sub serie()
          Dim derlig As Long, lig As Long, datas As Variant
          Dim nom As String, nb As Long
          derlig = Cells(Rows.Count, "C").End(xlUp).Row
          datas = [A2].Resize(derlig - 1, 3)
          For lig = 1 To UBound(datas)
              ' traitement
              If datas(lig, 3) <> "" Then
                  If datas(lig, 1) = "" Then
                      nb = nb + 1
                  Else
                      nom = datas(lig, 1)
                      nb = 1
                  End If
                  datas(lig, 1) = nom
                  datas(lig, 2) = nb
              End If
          Next lig
          [A2].Resize(UBound(datas), UBound(datas, 2)) = datas
      End Sub

      https://www.cjoint.com/?DDglM4oxb1w
      Je t'ai mis un raccourci clavier.
      Tu ouvres ce classeur, tu ouvres un de tes classeur à traiter, tu choisis ta feuille et tu fais Ctrl+w.
      Plus qu'à enregistrer. Travaille sur des copies au début.

      mais en dehors de vba point de salut ???
      Si, mais tu parlais de plusieurs fichiers de 10000 lignes.
      Par formule c'est plus lent, et plus de manip.
      En D2 :
      =SI(C2="";"";SI(A2="";D1;A2))
      En E2 :
      =SI(C2="";"";SI(D2=D1;E1+1;1))
      à recopier vers le bas, terminer par un copier-collage spécial valeur pour se débarrasser des formules.

      eric
      0
  2. 8LESERGILA Messages postés 19 Statut Membre
     
    bonjour,
    nouvelle version de ma question (peut-être + claire)

    CE QUE J'AI................................CE QUE JE VOUDRAIS
    ..A1........B1........C1.....................A1...........B1............C1
    jules................carotte...............jules.........1.............carotte
    ........................salade................jules.........2.............salade

    alain................chou...................alain........1.............chou
    ........................navet.................alain........2.............navet
    ........................poire..................alain........3.............poire
    ........................pain....................alain........4.............pain
    0
  3. 8LESERGILA Messages postés 19 Statut Membre
     
    bonjour

    merci eriiic,
    ça marche sur ton fichier mais pas sur le mien
    voici le message que m'affiche excel
    l'indice n'appartient pas à la sélection

    lesergila
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. 8LESERGILA Messages postés 19 Statut Membre
     
    bonjour

    meeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrcccccccccccccccccccciiiiiiiiiiiiiiiiiiiiiiiiii
    eriiic
    tu es le meilleur
    ça marche

    lesergila
    0