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

Macros pour les objets groupés Suite

2 réponses
Avatar
gilles.desthieux
Bonjour est-ce que quelqu'un serait en mesure de répondre à la
question que j'avais posée il y a deux jours? Merci

J'aimerais créer une macro qui permette à un ensemble d'objets
groupés (rectangles) de changer de couleur simultanément. Les couleurs
sont différentes pour chaque objet. J'ai compris comment faire la
macro de façon absolue pour un groupe d'objets donné.

Mais j'aimerais utiliser cette macro de façon relative pour d'autres
groupes d'objets ayant la même configuration. Comme chaque élément du
groupe peut être identifié par sa largeur, j'ai essayé d'introduire
des conditions dans le code (if then) par rapport à la taille.
Histoire de ne pas parler dans le vide, voici un exemple très simple
d'un objet contenant deux éléments:

With ActiveWindow.Selection.ShapeRange
If .Width = 50 Then
.Fill.ForeColor.RGB = RGB(0, 255, 0)
.Fill.Visible = msoTrue
.Fill.Solid
End If
If .Width = 17 Then
.Fill.ForeColor.RGB = RGB(0, 50, 0)
.Fill.Visible = msoTrue
.Fill.Solid
End If
End With

Malheureusement cette macro ne fonctionne que si je sélectionne les
éléments les uns après les autres, et non pas si je les sélectionne en
même temps.
Merci d'avance

2 réponses

Avatar
Jean-Pierre FORESTIER
Bonsoir Gilles
Je n'ai pas les connaissances suffisantes pour les Macros.
Désolé de te laisser dans le doute.

--
Jean-Pierre FORESTIER Microsoft MVP PowerPoint
Auteur de PowerPoint 2002 chez Micro Application
"Gilles" a écrit dans le message news:

Bonjour est-ce que quelqu'un serait en mesure de répondre à la
question que j'avais posée il y a deux jours? Merci

J'aimerais créer une macro qui permette à un ensemble d'objets
groupés (rectangles) de changer de couleur simultanément. Les couleurs
sont différentes pour chaque objet. J'ai compris comment faire la
macro de façon absolue pour un groupe d'objets donné.

Mais j'aimerais utiliser cette macro de façon relative pour d'autres
groupes d'objets ayant la même configuration. Comme chaque élément du
groupe peut être identifié par sa largeur, j'ai essayé d'introduire
des conditions dans le code (if then) par rapport à la taille.
Histoire de ne pas parler dans le vide, voici un exemple très simple
d'un objet contenant deux éléments:

With ActiveWindow.Selection.ShapeRange
If .Width = 50 Then
.Fill.ForeColor.RGB = RGB(0, 255, 0)
.Fill.Visible = msoTrue
.Fill.Solid
End If
If .Width = 17 Then
.Fill.ForeColor.RGB = RGB(0, 50, 0)
.Fill.Visible = msoTrue
.Fill.Solid
End If
End With

Malheureusement cette macro ne fonctionne que si je sélectionne les
éléments les uns après les autres, et non pas si je les sélectionne en
même temps.
Merci d'avance


Avatar
jmv
bjr
essaie avec for each next
peut etre une soluce
sinon pose la question sur le forum excel,le langage est le meme
cordialement
jm
"Gilles" a écrit dans le message de news:

Bonjour est-ce que quelqu'un serait en mesure de répondre à la
question que j'avais posée il y a deux jours? Merci

J'aimerais créer une macro qui permette à un ensemble d'objets
groupés (rectangles) de changer de couleur simultanément. Les couleurs
sont différentes pour chaque objet. J'ai compris comment faire la
macro de façon absolue pour un groupe d'objets donné.

Mais j'aimerais utiliser cette macro de façon relative pour d'autres
groupes d'objets ayant la même configuration. Comme chaque élément du
groupe peut être identifié par sa largeur, j'ai essayé d'introduire
des conditions dans le code (if then) par rapport à la taille.
Histoire de ne pas parler dans le vide, voici un exemple très simple
d'un objet contenant deux éléments:

With ActiveWindow.Selection.ShapeRange
If .Width = 50 Then
.Fill.ForeColor.RGB = RGB(0, 255, 0)
.Fill.Visible = msoTrue
.Fill.Solid
End If
If .Width = 17 Then
.Fill.ForeColor.RGB = RGB(0, 50, 0)
.Fill.Visible = msoTrue
.Fill.Solid
End If
End With

Malheureusement cette macro ne fonctionne que si je sélectionne les
éléments les uns après les autres, et non pas si je les sélectionne en
même temps.
Merci d'avance