OVH Cloud OVH Cloud

Table de données et macro de tri...

2 réponses
Avatar
Zobby la mouche
Bonjour à tous,

Voici mes problèmes,

J'ai dans une feuille de calcul, un tableau qui constitue une base de
donnée. Ce BD est
constitué comme ceci...

- Les lignes 1 à 4 sont réservées à des titres et commentaires... Elles sont
fixes.
- La ligne 5 (de B5 à J5) contient les intitulés des colonnes. Sur ces 9
cellules sont activés
les filtres automatique, ce qui fonctionne très bien.
- La place B6 à J2000 contient mes données...

Désireux de voir les utilisateurs pouvoir faire des tris en cliquant
simplement sur un bouton
(placé dans chaque cellule de la ligne de titre), j'ai enregistré des macros
(une pour chaque
colonne de tri). Voici à quoi ça ressemble (je ne mets que les 2 premières
mais elles sont
toutes sur le même schéma) :

--------------------------------------------------------------------------------------------
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 28/09/2004 par X
' Tri par societe

'
Range("B5").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("B5:J2000").Select
Selection.Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("B6").Select
End Sub
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 28/09/2004 par X
' Tri par activite

'
Range("C5").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range("B5:J2000").Select
Selection.Sort Key1:=Range("C5"), Order1:=xlAscending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("C6").Select
End Sub
--------------------------------------------------------------------------------------------

J'ai du étendre la sélection à la ligne de titre car si je partait de
B6:J2000, la ligne 6 était
prise pour titre et n'était pas triée...
*** Première question : Comme définir cette ligne de titre comme entête du
tableau afin qu'elle
ne bouge plus et ne soit incluse dans le tri !?

Jusque là, tout va à peu près bien... Mais comme ce tableau est destiné à
être utilisé par une 10aine
de personnes, je l'ai enregistré sur un serveur auquel tout le monde
accède... Le Hic, c'est
que si quelqu'un ouvre ce fichier, les suivants ne peuvent l'ouvrir qu'en
"Lecture seule" !

Pour cette raison, j'ai activé le partage de fichier dans excel... Et c'est
là que les ennuis
commencent...

Au moment de ce partage, une sauvegarde s'effectue et Excel dit
"Modification des macros impossible
dans un document partagé), ce qui semble normal et pas gênant !?

*** Certains utilisateurs ouvrent le fichier, mais le défilement vertical
dans le tableau ne s'effectue
pas !!! Alors que chez d'autres (même Excel 9.0, même OS 98ME)... WHY ?

*** Dans certains cas, les tris ne fonctionnent pas et sèment la zizanie
dans la ligne 5 (de titre),
qui est incluse dans le tri ! (La ligne de titre se retrouvant ainsi au
milieu du tableau !!!)
Au bout d'un moment, il arrive même que cliquer sur un bouton de tri
provoque une
erreur qui plante excel !! :

-------------------------------------------------
Microsoft Visual Basic
Erreur d'exécution '-2147417848 (80010108)':

Erreur Automation
L'objet invoqué s'est déconnecté de ses clients.
--------------------------------------------------


Alors, si vous avez des idées pour me sortir de là, je serai ravi....


Merci d'avance à tous les compétents du coin ;)

2 réponses

Avatar
Denis
Bonjour,
pour la première question :
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 28/09/2004 par X
' Tri par societe

'
Range("B6:J2000").Sort Key1:=Range("B6"),
Order1:=xlAscending, Header:=xlNo,
_
OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom
End Sub

Denis

-----Message d'origine-----
Bonjour à tous,

Voici mes problèmes,

J'ai dans une feuille de calcul, un tableau qui constitue
une base de

donnée. Ce BD est
constitué comme ceci...

- Les lignes 1 à 4 sont réservées à des titres et
commentaires... Elles sont

fixes.
- La ligne 5 (de B5 à J5) contient les intitulés des
colonnes. Sur ces 9

cellules sont activés
les filtres automatique, ce qui fonctionne très bien.
- La place B6 à J2000 contient mes données...

Désireux de voir les utilisateurs pouvoir faire des tris
en cliquant

simplement sur un bouton
(placé dans chaque cellule de la ligne de titre), j'ai
enregistré des macros

(une pour chaque
colonne de tri). Voici à quoi ça ressemble (je ne mets
que les 2 premières

mais elles sont
toutes sur le même schéma) :

----------------------------------------------------------
----------------------------------

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 28/09/2004 par X
' Tri par societe

'
Range("B5").Select
Range(Selection, ActiveCell.SpecialCells
(xlLastCell)).Select

Range("B5:J2000").Select
Selection.Sort Key1:=Range("B5"),
Order1:=xlAscending, Header:=xlGuess,

_
OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom

Range("B6").Select
End Sub
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 28/09/2004 par X
' Tri par activite

'
Range("C5").Select
Range(Selection, ActiveCell.SpecialCells
(xlLastCell)).Select

Range("B5:J2000").Select
Selection.Sort Key1:=Range("C5"),
Order1:=xlAscending, Header:=xlGuess,

_
OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom

Range("C6").Select
End Sub
----------------------------------------------------------
----------------------------------


J'ai du étendre la sélection à la ligne de titre car si
je partait de

B6:J2000, la ligne 6 était
prise pour titre et n'était pas triée...
*** Première question : Comme définir cette ligne de
titre comme entête du

tableau afin qu'elle
ne bouge plus et ne soit incluse dans le tri !?

Jusque là, tout va à peu près bien... Mais comme ce
tableau est destiné à

être utilisé par une 10aine
de personnes, je l'ai enregistré sur un serveur auquel
tout le monde

accède... Le Hic, c'est
que si quelqu'un ouvre ce fichier, les suivants ne
peuvent l'ouvrir qu'en

"Lecture seule" !

Pour cette raison, j'ai activé le partage de fichier dans
excel... Et c'est

là que les ennuis
commencent...

Au moment de ce partage, une sauvegarde s'effectue et
Excel dit

"Modification des macros impossible
dans un document partagé), ce qui semble normal et pas
gênant !?


*** Certains utilisateurs ouvrent le fichier, mais le
défilement vertical

dans le tableau ne s'effectue
pas !!! Alors que chez d'autres (même Excel 9.0, même OS
98ME)... WHY ?


*** Dans certains cas, les tris ne fonctionnent pas et
sèment la zizanie

dans la ligne 5 (de titre),
qui est incluse dans le tri ! (La ligne de titre se
retrouvant ainsi au

milieu du tableau !!!)
Au bout d'un moment, il arrive même que cliquer sur un
bouton de tri

provoque une
erreur qui plante excel !! :

-------------------------------------------------
Microsoft Visual Basic
Erreur d'exécution '-2147417848 (80010108)':

Erreur Automation
L'objet invoqué s'est déconnecté de ses clients.
--------------------------------------------------


Alors, si vous avez des idées pour me sortir de là, je
serai ravi....



Merci d'avance à tous les compétents du coin ;)

















.



Avatar
Zobby la mouche
pour la première question :
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 28/09/2004 par X
' Tri par societe

'
Range("B6:J2000").Sort Key1:=Range("B6"),
Order1:=xlAscending, Header:=xlNo,
_
OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom
End Sub

??? Je ne comprends pas... Un commentaire d'explication aurait été
bienvenu... Si je copie ça à la place de ma macro, il y a plein d'erreur
de compilation !!!