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

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

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

    ;o)
    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
      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. 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 :)
          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. De rien, content de t'avoir rendu service.

              bon courage pour la suite.

              ;o)