Souci dans adaptation d'un tableur existant

Bonjour,

J'ai un tableur qui trie les adhérents d'une association par région qui fonctionne bien (créé via ce forum....)

Je souhaite tout simplement rajouter une colonne avec une info supplémentaire (cotisation) et j'ai beau modifier les codes & Noms....en "élargissant" le tableur....j'ai un blocage.

Je vous mets le tableur via ce lien car il est légèrement > à 300 ko.

http://www.cjoint.com/15mi/EElqlSqhrA3_liste_simplifiee_v01.xlsm

Je souhaiterais en profiter pour lancer une macro au démarrage et avoir un certain affichage à la sortie... tout cela est indiqué dans le tableur.

Cordialement

Bonjour,

Pour lancer la macro au démarrage

à placer dans le code de la feuille ThisWorkbook

Private Sub Workbook_Open()
  UserForm1.Show    ' nom de la macro
End Sub

Bonsoir,

J'ai supprimé la colonne K qui était vide et modifié le code pour élargir le tableau, j'ai également mis un code qui exécute la macro1 dans le code du classeur à l'ouverture du fichier

Code Tri ci-joint

Amicalement

Pierrot

Sub Tri()
'
' Tri Macro
'

'
    Application.Goto Reference:="FRANCE"
    ActiveWorkbook.Worksheets("REGION  ").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("REGION  ").Sort.SortFields.Add Key:=Range( _
        "A7:A323"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("REGION  ").Sort.SortFields.Add Key:=Range( _
        "B7:B323"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("REGION  ").Sort.SortFields.Add Key:=Range( _
        "C7:C323"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("REGION  ").Sort
        .SetRange Range("A6:K323")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
   ' ActiveWindow.SmallScroll Down:=-12
    Range("A1").Select
End Sub

Bonjour Pierrot,

J'ai été un peu trop "gourmand" en mettant tout de suite en réalité 3 demandes... qui font que j'ai du mal à suivre la solution proposée

En effet, j'ai supprimé la colonne K vide (en pratique les éléments de la colonne L se retrouvent en K), puis j'ai mis ton dernier code dans ThiWoorkBook. mais sans succès

"On efface tout... et je recommence"

Je préfère conserver le lancement de la macro à l'ouverture du classeur pour me permettre le cas échéant de la modifier sans avoir à venir dans les codes

Après réflexion, puisqu'à l'ouverture je fais avoir l'affichage découlant de la macro, la demande concernant "à la fermeture" devient sans objet !

Donc, il ne reste plus qu'une chose, l'élargissement du classeur, une fois la colonne K avec les éléments se trouvant actuellement en L.

Je ne te cacherai pas que cela m'arrangerait d'avoir les codes ici ainsi que le tableur "solutionné" via mp vu qu'il est > aux 300 ko acceptés.

Cordialement

Bonjour,

Le code à mettre dans ThisWiorkbook

 Private Sub Workbook_Open()
      Macro1   ' nom de la macro
    End Sub

Code qui supprime la colonne K et rétrécit la colonne M

Sub Macro2()
'
' Macro2 Macro
'

    Columns("K:K").EntireColumn.Select
    Selection.Delete Shift:=xlToLeft
    Columns("L:L").EntireColumn.Select
    Columns("L:L").Select
    Selection.ColumnWidth = 10
    Range("L1").Select
End Sub

Code tri modifié

Sub Tri()
'
' Tri Macro
'

'
    Application.Goto Reference:="FRANCE"
    ActiveWorkbook.Worksheets("REGION  ").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("REGION  ").Sort.SortFields.Add Key:=Range( _
        "A7:A323"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("REGION  ").Sort.SortFields.Add Key:=Range( _
        "B7:B323"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("REGION  ").Sort.SortFields.Add Key:=Range( _
        "C7:C323"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("REGION  ").Sort
        .SetRange Range("A6:K323")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
   ' ActiveWindow.SmallScroll Down:=-12
    Range("A1").Select
End Sub

le fichier est trop lourd pour être posté ici

Amicalement

Pierrot

Re,

Merci de m'avoir bien décortiqué les codes comme sollicité et

Comme cela fonctionne, j'ai changé un peu ma macro qui se lance au démarrage....et pas de souci !

Je vais m'atteler sur le véritable tableur qui est beaucoup plus volumineux.

Cordialement

Tonthon

Bonjour,

Si tout fonctionne, n'oubliez pas de valider le problème comme étant résolu.

Amicalement

Pierrot

resolu4
Rechercher des sujets similaires à "souci adaptation tableur existant"