Macro?

Résolu
Bonjour,
Pensez vous qu'il soit possible de faire une macro sous excel 2003 qui organiserait dans une liste verticale les 5 premier caractère de chaque nom de feuille d'un classeur?
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. Bonjour,

    C'est à dire ? un petit exemple serait le bienvenu.

    ;o)
    0
    1. Heu.. oui c'est pas fau ca :)

      VOici le lien
      http://www.cijoint.fr/cjlink.php?file=cj200810/cij5sCJBvB.xls

      Le but c'est que dans la page 2 Evaluation générale
      il y est
      en colonne A
      U1T5
      U2T8
      U10T8
      U25T5
      U25T1

      et en face en colonne B les donné qui sont dans chacune des page en céllule D3... (enfin pour mon vrai tableau ca sera en colonne AE2

      Merci
      0
      1. Re,

        voilà un exemple de code fait avec les éléments du fichier joint

        Option Explicit
        
        Sub myTest()
        Dim sh As Worksheet
        Dim i As Long
        Dim str As String
        
            i = 1
            For Each sh In Worksheets
                str = sh.Name
                If str <> "Modalité" And str <> "Evaluation générale" Then
                    str = Mid(str, 1, 5)
                    Worksheets("Evaluation générale").Range("A" & i).Value = str
                    Worksheets("Evaluation générale").Range("B" & i).Value = sh.Range("D3").Value
                    i = i + 1
                End If
            Next sh
            
        End Sub


        Ce code est à placer dans un module standard. Ensuite il faut faire Alt+F8, selectionner la macro myTest et exécuter.

        ;o)
        1
        1. Merci c'est génial

          Je peux demander 2 petite modif?

          est ce que c'est possible que ce soit les donnée en AE1 plutot qu'en D3?
          Est ce que c'est possible de faire commencer la liste à partir de la ligne 5?

          Merci :)
          0
          1. Rien de plus facile. Et tu peux même le faire tout seul :o)

            Tu changes le : i = 1 par i = 5

            et ensuite le : sh.Range("D3").Value par sh.Range("AE1").Value

            Tu sauvegardes et le tour est joué.

            Bonne continuation et n'oublie pas de mettre le post en résolu stp.

            ;o)
            1
            1. De rien, content de t'avoir rendu service.

              bon courage pour la suite.

              ;o)
              0