Uniformisation des données avec VBA

Résolu

Bonjour tous le monde, 

j'aimerais uniformisé un fichier Excel à l'aide de VBA. 

J'ai un fichier de description de stations par années. dans le fichier exemple la description des stations ne change pas, mais dans le fichier original j'ai une colonne avec les cordonnées GPS qui elle change. j'aimerais quand j'ajoute les station de une année la description ce mette automatiquement et que l'orthographe soit la même que la trame. 

Es ce que cela est possible avec VBA? 

Voici le liens du ficher exemple: 
https://www.cjoint.com/c/LGwiOoAndrH

Merci d'avance  
Maxime


Windows / Edge 103.0.1264.62

7 réponses

  1. merci pour le code, en fait j'ai du tout reconstruire (au cas où), certainement une incompatibilité avec mon vieil excel 2003

    Si c'est fini, peux tu mettre le sujet à Résolu les "..." en bas à droite de ton premier post

    Bon week end

    0
    1. Pour affecter un raccourci-clavier aux macros
      Sous l’onglet Développeur, dans le groupe Code, cliquez sur Macros.
      Dans la zone Nom de la macro, cliquez sur la macro à affecter à une touche de raccourci utilisant la touche Ctrl.
      Cliquez sur Options.
      La boîte de dialogue Options de macro s’affiche.
      Dans la zone Touche de raccourci mettre le raccourci

      Cdlmnt

      0
      1. Zut, j'ai un pb avec mon fichier, peux tu copier ici le code complet de la macro

        merci

        0
      2. @ccm81

        Option Explicit

        ' constantes dépendant de la structure des données
        Const F1 = "Feuil1"
        Const coann = "C"
        Const corad = "B"
        Const coidl = "A"

        Const FT = "Trame"
        Const plage_a_copier = "plage"

        Public Sub Ajouter_Annee()
        Dim a As Long, lideb As Long, lifin As Long, n As Long, li As Long
        With Sheets(F1)
          lideb = .Range(coann & Rows.Count).End(xlUp).Row + 1
          a = Application.WorksheetFunction.Max(Columns(coann)) + 1
          MsgBox "Ajouter l'année " & a
          Sheets(FT).Range(plage_a_copier).Copy .Range(corad & lideb)
          lifin = .Range(coann & Rows.Count).End(xlUp).Row
          .Range(coann & lideb & ":" & coann & lifin) = a
          n = Application.WorksheetFunction.Max(Columns(coidl))
          For li = lideb To lifin
            .Range(coidl & li).Value = n + 1 + li - lideb
          Next li
        End With
        End Sub
         

        0
      3. @Maxime_Martel

        ah d'accord j'avais jamais affecter un raccourci clavier

        merci bien 

        0
    2. Merci beaucoup cela marche nickel et c'est exactement ce que je voulais

      comment vous faite pour que se soit la commande c"rt+a"?

      maxime martel 

      0
      1. J'ai refait le fichier exemple j'ai mis une partit du fichier original pour que se soit plus représentatif. 

         https://www.cjoint.com/c/LGwmCJ38jRH

        J'espère que c'est plus plus claire sur ce fichier.

        Bonne journée 

        Maxime

        0
        1. Bonjour

          Ton fichier exemple ne montre pas grand chose de ce que tu attends.

          1. dans le fichier exemple la description des stations ne change pas,

          S'agit il du contenu de la feuille Trame ?

          2.1 mais dans le fichier original j'ai une colonne avec les cordonnées GPS

          Là, on n'a rien dans tes deux feuilles

          2.2 qui elle change

          la colonne, les coordonnées GPS, et comment ça change ?

          3.1.  j'aimerais quand j'ajoute les station de une année

          dans quelle feuille ?

          3.2. la description ce mette automatiquement et que l'orthographe soit la même que la trame. 

          peux tu préciser

          Il faudrait un fichier plus parlant avec des exemples de résultats attendus.

          De plus si tu veux une macro, ton fichier exemple doit avoir la même structure que l'original et contenir des informations de même type.

          Cdlmnt

          0
          1. Bonjour,

            ajoute les station de une année la description ce mette automatiquement et que l'orthographe soit la même que la trame.

            Vous ajoutez ou et quoi dans quelle feuille?

            Qu'est ce qui doit se mettre automatiquement et dans quelle feuille?

            0