Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macros dans classeur partagé

6 réponses
Avatar
Jac
Bonjour à tous,

dans un classeur partagé, j'ai deux macro qui ne fonctionnent pas, mais
aucun problème pour les autres.
Je reçois une erreur d'exécution '1004' : Erreur définie par
l'application ou par l'objet.
Quandf le classeur n'est pas partagé, les macros fonctionnent
parfaitement.

Les macros "défaillantes" ne font pas grand chose : sélection d'une
zone, suppression du formatage conditionnel et mise en place d'un
formatage conditionnel avec 2 conditions, comme ceci :

Sub FORMATAGE_1()
Range("A4:C" & [A65536].End(xlUp).Row).Select
With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 1;VRAI;FAUX))"
.FormatConditions(1).Interior.ColorIndex = 8
.FormatConditions(1).Font.Bold = True
.FormatConditions(1).Borders(xlTop).LineStyle =
xlContinuous
.FormatConditions(1).Borders(xlTop).Weight = xlThin
.FormatConditions(1).Borders(xlTop).ColorIndex = 9
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 0;VRAI;FAUX))"
.FormatConditions(2).Interior.ColorIndex = 35
.FormatConditions(2).Font.Bold = True
.FormatConditions(2).Borders(xlTop).LineStyle =
xlContinuous
.FormatConditions(2).Borders(xlTop).Weight = xlThin
.FormatConditions(2).Borders(xlTop).ColorIndex = 9
End With
End Sub

Y aurait-il dans cette macro une ou plusieurs fonctionalités
incompatible avec le partage de classeur ?

Merci d'avance.

Jac

6 réponses

Avatar
P.Bastard
Bonjour, Jac.

Peut-être une protection sans userinterfaceonly ?

Amicordialement,
--
patrick.bastardchezdbmail.com
"Jac" a écrit dans le message de
news:
Bonjour à tous,

dans un classeur partagé, j'ai deux macro qui ne fonctionnent pas, mais
aucun problème pour les autres.
Je reçois une erreur d'exécution '1004' : Erreur définie par l'application
ou par l'objet.
Quandf le classeur n'est pas partagé, les macros fonctionnent
parfaitement.

Les macros "défaillantes" ne font pas grand chose : sélection d'une zone,
suppression du formatage conditionnel et mise en place d'un formatage
conditionnel avec 2 conditions, comme ceci :

Sub FORMATAGE_1()
Range("A4:C" & [A65536].End(xlUp).Row).Select
With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 1;VRAI;FAUX))"
.FormatConditions(1).Interior.ColorIndex = 8
.FormatConditions(1).Font.Bold = True
.FormatConditions(1).Borders(xlTop).LineStyle = xlContinuous
.FormatConditions(1).Borders(xlTop).Weight = xlThin
.FormatConditions(1).Borders(xlTop).ColorIndex = 9
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 0;VRAI;FAUX))"
.FormatConditions(2).Interior.ColorIndex = 35
.FormatConditions(2).Font.Bold = True
.FormatConditions(2).Borders(xlTop).LineStyle = xlContinuous
.FormatConditions(2).Borders(xlTop).Weight = xlThin
.FormatConditions(2).Borders(xlTop).ColorIndex = 9
End With
End Sub

Y aurait-il dans cette macro une ou plusieurs fonctionalités incompatible
avec le partage de classeur ?

Merci d'avance.

Jac





Avatar
Jac
... il n'y a pas de protection du classeur mais seulement un partage.
Où intervient "userinterfaceonly" ?

Bonjour, Jac.

Peut-être une protection sans userinterfaceonly ?

Amicordialement,
--
patrick.bastardchezdbmail.com
"Jac" a écrit dans le message de
news:
Bonjour à tous,

dans un classeur partagé, j'ai deux macro qui ne fonctionnent pas, mais
aucun problème pour les autres.
Je reçois une erreur d'exécution '1004' : Erreur définie par l'application
ou par l'objet.
Quandf le classeur n'est pas partagé, les macros fonctionnent parfaitement.

Les macros "défaillantes" ne font pas grand chose : sélection d'une zone,
suppression du formatage conditionnel et mise en place d'un formatage
conditionnel avec 2 conditions, comme ceci :

Sub FORMATAGE_1()
Range("A4:C" & [A65536].End(xlUp).Row).Select
With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 1;VRAI;FAUX))"
.FormatConditions(1).Interior.ColorIndex = 8
.FormatConditions(1).Font.Bold = True
.FormatConditions(1).Borders(xlTop).LineStyle = xlContinuous
.FormatConditions(1).Borders(xlTop).Weight = xlThin
.FormatConditions(1).Borders(xlTop).ColorIndex = 9
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 0;VRAI;FAUX))"
.FormatConditions(2).Interior.ColorIndex = 35
.FormatConditions(2).Font.Bold = True
.FormatConditions(2).Borders(xlTop).LineStyle = xlContinuous
.FormatConditions(2).Borders(xlTop).Weight = xlThin
.FormatConditions(2).Borders(xlTop).ColorIndex = 9
End With
End Sub

Y aurait-il dans cette macro une ou plusieurs fonctionalités incompatible
avec le partage de classeur ?

Merci d'avance.

Jac




Avatar
P.Bastard
"Jac" a écrit dans le message de
news:
... il n'y a pas de protection du classeur mais seulement un partage.
Où intervient "userinterfaceonly" ?



Extrait de l'aide VBA après une recherche sur Protect :
UserInterfaceOnly Argument de type Variant facultatif. Cet argument a la
valeur True pour protéger l'interface utilisateur, mais pas les macros. Si
cet argument n'est pas spécifié, la protection s'applique à la fois aux
macros et à l'interface utilisateur.

La valeur False permet de protéger une feuille, par exemple, en autorisant
toutefois les modifications par macro.

Amicordialement,
--
patrick.bastardchezdbmail.com


Bonjour, Jac.

Peut-être une protection sans userinterfaceonly ?

Amicordialement,
--
patrick.bastardchezdbmail.com
"Jac" a écrit dans le message de
news:
Bonjour à tous,

dans un classeur partagé, j'ai deux macro qui ne fonctionnent pas, mais
aucun problème pour les autres.
Je reçois une erreur d'exécution '1004' : Erreur définie par
l'application ou par l'objet.
Quandf le classeur n'est pas partagé, les macros fonctionnent
parfaitement.

Les macros "défaillantes" ne font pas grand chose : sélection d'une
zone, suppression du formatage conditionnel et mise en place d'un
formatage conditionnel avec 2 conditions, comme ceci :

Sub FORMATAGE_1()
Range("A4:C" & [A65536].End(xlUp).Row).Select
With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 1;VRAI;FAUX))"
.FormatConditions(1).Interior.ColorIndex = 8
.FormatConditions(1).Font.Bold = True
.FormatConditions(1).Borders(xlTop).LineStyle = xlContinuous
.FormatConditions(1).Borders(xlTop).Weight = xlThin
.FormatConditions(1).Borders(xlTop).ColorIndex = 9
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 0;VRAI;FAUX))"
.FormatConditions(2).Interior.ColorIndex = 35
.FormatConditions(2).Font.Bold = True
.FormatConditions(2).Borders(xlTop).LineStyle = xlContinuous
.FormatConditions(2).Borders(xlTop).Weight = xlThin
.FormatConditions(2).Borders(xlTop).ColorIndex = 9
End With
End Sub

Y aurait-il dans cette macro une ou plusieurs fonctionalités
incompatible avec le partage de classeur ?

Merci d'avance.

Jac









Avatar
LSteph
Bonsoir,

A moins de devoir vraiment bosser tous en même temps sur la même chose
en ce cas faire un classeur partagé pour les données et les macros à
part dans du .xla

sinon

AMHA n' est pas obligé d'utiliser le mode partagé pour partager un classeur
il n'y a qu'à l'ouvrir chacun à son tour puisque pour ce qui est des
enregistrements c'est le dernier qui cause qui a raison.
Ainsi pas de perte de fonctionnalités.


@+

--
lSteph



Jac a écrit :
Bonjour à tous,

dans un classeur partagé, j'ai deux macro qui ne fonctionnent pas, mais
aucun problème pour les autres.
Je reçois une erreur d'exécution '1004' : Erreur définie par
l'application ou par l'objet.
Quandf le classeur n'est pas partagé, les macros fonctionnent parfaitement.

Les macros "défaillantes" ne font pas grand chose : sélection d'une
zone, suppression du formatage conditionnel et mise en place d'un
formatage conditionnel avec 2 conditions, comme ceci :

Sub FORMATAGE_1()
Range("A4:C" & [A65536].End(xlUp).Row).Select
With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 1;VRAI;FAUX))"
.FormatConditions(1).Interior.ColorIndex = 8
.FormatConditions(1).Font.Bold = True
.FormatConditions(1).Borders(xlTop).LineStyle = xlContinuous
.FormatConditions(1).Borders(xlTop).Weight = xlThin
.FormatConditions(1).Borders(xlTop).ColorIndex = 9
.FormatConditions.Add Type:=xlExpression,
Formula1:="=SI($C3<>$C4;SI(MOD($C4;2) = 0;VRAI;FAUX))"
.FormatConditions(2).Interior.ColorIndex = 35
.FormatConditions(2).Font.Bold = True
.FormatConditions(2).Borders(xlTop).LineStyle = xlContinuous
.FormatConditions(2).Borders(xlTop).Weight = xlThin
.FormatConditions(2).Borders(xlTop).ColorIndex = 9
End With
End Sub

Y aurait-il dans cette macro une ou plusieurs fonctionalités
incompatible avec le partage de classeur ?

Merci d'avance.

Jac




Avatar
Jac
... Merci encore, je comprends maintenant pourquoi "ça" coince un
peu...
Je vais adapter le tableau.

Les fonctionnalités suivantes ne sont accessibles que si vous annulez
le partage du classeur...


Avatar
Jac
... en fait il s'agit d'un planing sur lequel trois personnes doivent
pouvoir mettre à jour des rdv, téléphone en main. Donc c'était soit un
petit développement Excel avec classeur partagé, soit un gros boulot
Access.
J'ai choisi le petit boulot... Je vais adapter...

Merci encore.

Bonsoir,

A moins de devoir vraiment bosser tous en même temps sur la même chose
en ce cas faire un classeur partagé pour les données et les macros à part
dans du .xla

sinon

AMHA n' est pas obligé d'utiliser le mode partagé pour partager un classeur
il n'y a qu'à l'ouvrir chacun à son tour puisque pour ce qui est des
enregistrements c'est le dernier qui cause qui a raison.
Ainsi pas de perte de fonctionnalités.


@+

--
lSteph