Utilisation de macros complémentaires

Natiffar

XLDnaute Nouveau
Bonjour,

Après avoir fait un bon survol du net, je reste bloqué sur un code VB sous Excel.

J'ai créé une macro qui colore une ligne entière en fonction de la valeur de la première cellule de la ligne. Par ailleurs, selon la valeur de cette première cellule, je verrouille ou déverrouille d'autres cellules.
Tout fonctionne très bien, mais comme bien des utilisateurs, je me confronte à un problème dès que je souhaite mettre ce fichier en partage (avec l'option partage d'Excel).

J'ai tenté d'enregistrer ce code dans un fichier .xla puis de l'activer dans les macros complémentaires. Il se charge bien au démarrage d'Excel mais rien ne se passe lorsque je le teste, même pas un bug :). Je pense que mon problème vient de la relation entre le code et le fichier sur lequel je souhaite l'appliquer. Mais je patauge...

Quelqu'un pourrait-il m'aider ?
Je me permets de poster également mon code pour vous donner une idée:
-----------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Workbooks("K:\XXXX\XXXX.xls").Sheets("BBB").Unprotect "xxxxxxxx"

If Workbooks("K:\XXXX\XXXX.xls").Sheets("BBB").ActiveCell.Column = 1 Then

i = ActiveCell.Row
MaVariable = ActiveCell.Value


Select Case MaVariable
Case "Terminé"
Range(Cells(i, 2), Cells(i, 26)).Locked = True
Range(Cells(i, 1), Cells(i, 26)).Interior.ColorIndex = 43
Case "Refusé / Annulé"
Range(Cells(i, 2), Cells(i, 26)).Locked = False
Range(Cells(i, 1), Cells(i, 26)).Interior.ColorIndex = 3
Case "Commandé"
Range(Cells(i, 2), Cells(i, 26)).Locked = False
Range(Cells(i, 1), Cells(i, 26)).Interior.ColorIndex = 45
Case "En attente"
Range(Cells(i, 2), Cells(i, 26)).Locked = False
Range(Cells(i, 1), Cells(i, 26)).Interior.ColorIndex = 2
Case "Validé"
Range(Cells(i, 2), Cells(i, 26)).Locked = False
Range(Cells(i, 1), Cells(i, 26)).Interior.ColorIndex = 44
Case ""
Range(Cells(i, 2), Cells(i, 26)).Locked = False
Range(Cells(i, 1), Cells(i, 26)).Interior.ColorIndex = 2
End Select

Else

If Workbooks("K:\XXXX\XXXX.xls").Sheets("BBB").ActiveCell.Column > 1 Then
GoTo 2

End If
End If

2 Workbooks("K:\XXXX\XXXX.xls").Sheets("BBB").Protect "password"

End Sub
--------------------------------------------------

J'espère que quelqu'un pourra m'éclairer. Merci d'avance.

Natiffar
 

jeanpierre

Nous a quitté
Repose en paix
Re : Utilisation de macros complémentaires

Bonsoir Natiffar,

Pas sûr de ma réponse, mais il me semble qu'une macro complémentaire travaille sur le PC où est ouvert le fichier.

Dés lors qu'il est en partage, cela ne fonctionne plus, même si les utilisateurs ont installés ta macro.

Il serait, peut-être, plus judicieux de mettre le code directement dans le fichier. Encore que là, je ne suis pas sûr du fonctionnement en partage.

Je n'ai plus accés à cette possibilité (retraite) et ne peut donc pas la tester.

J'attends aussi d'autres intervenants sur le sujet.

Bonne soirée.

Jean-Pierre
 

Natiffar

XLDnaute Nouveau
Re : Utilisation de macros complémentaires

Merci pour vos réponses.

J'ai lu en fouillant sur le forum qu'il était possible de faire fonctionner des macros en mode partagé à condition de les placer dans un fichier .xla enregistré dans le même dossier que le fichier .xls. Il faut bien sûr installer la macro complémentaire dans le fichier .xls afin qu'elle soit chargée au démarrage.
Mais il faut faire quelques modifications sur le code pour qu'il intervienne bien sur le .xls concerné. C'est surtout sur cet aspect là que je coince.

Par ailleurs, Microsoft indique effectivfement qu'il n'est pas possible de déprotéger/protéger un classeur une fois le partage mis en place. Alors peut être est-il possible de contourner le problème. En fait, je protège mon classeur principalement pour que les utilisateurs ne modifient pas la mise en page, mais s'il existe une autre solution pour simplement bloquer des cellules, je suis partant. Peut-être en les rendant non sélectionnables,...

Jeanpierre, si tu souhaite faire des essais de partage c'est possible même si tu n'es pas en réseau. Il s'agit de l'option Partage de classeur d'Excel. Les bugs apparaissent dès que la fonction partage est enclenchée et que l'on tente de faire fonctionner le code.


Si vous avez d'autres idées, je suis preneur.

En attendant, encore merci.

Cordialement,

Natiffar
 

jeanpierre

Nous a quitté
Repose en paix
Re : Utilisation de macros complémentaires

Re,

Pour répondre à ceci : "possible de faire fonctionner des macros en mode partagé à condition de les placer dans un fichier .xla enregistré dans le même dossier que le fichier .xls"

Une Xla n'a pas besoin d'être dans le même dossier. Une Xla, une fois reconnue peut-être n'importe où. Sur le poste s'entend.

Ensuite et pour finir, en réseau et en partagé, peu de macros fonctionnent, que dire des Xla ?

Pas d'autres idées ce soir.

Je t'espère une réponse favorable, mais moi je n'en vois pas

Jean-Pierre
 

Natiffar

XLDnaute Nouveau
Re : Utilisation de macros complémentaires

Merci Jeanpierre,

Quelle rapidité. Je vais attendre un peu pour voir si j'ai d'autres retours sur le sujet. De toute manière, je continuerais à chercher de mon côté.

Cordialement,
 

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 182
Membres
103 152
dernier inscrit
Karibu