Numéroté des shapes (formes graphiques)
FB2019
Messages postés
7
Statut
Membre
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
Objectif: numéroté des shapes (oval) automatiquement sur EXCEL
Je voudrai, en vba, afficher une forme ovale à l'intérieur duquel j'affiche un numéro. Ce numéro doit tenir compte des autres formes ovales qui contiennent elles aussi un numéro. Autrement dit, j'affiche des photos dans une feuille et je voudrai les numérotés à l'aide de formes ovales qui s'incrémente au fur et à mesure. Comment faire en sorte avec une macro VBA pour afficher la forme ovale et puis afficher à l'intérieur le n° qui tient compte de son rang d'arrivée?
Exemple: j'ai 10 photos sur une feuille (onglet) et j'ai 3 formes ovales déjà afficher (contenant les N° 1, 2 et 3). Je lance la macro et celle-ci affiche une nouvelle formes ovales (du même style que les autres) et ajoute à l'intérieur le N° incrémenté c'est à dire 4. Si je relance la macro elle affichera une autre forme ovale avec 5 dedans.
Merci d'avance pour l'aide que vous pourriez m'apporter.
Objectif: numéroté des shapes (oval) automatiquement sur EXCEL
Je voudrai, en vba, afficher une forme ovale à l'intérieur duquel j'affiche un numéro. Ce numéro doit tenir compte des autres formes ovales qui contiennent elles aussi un numéro. Autrement dit, j'affiche des photos dans une feuille et je voudrai les numérotés à l'aide de formes ovales qui s'incrémente au fur et à mesure. Comment faire en sorte avec une macro VBA pour afficher la forme ovale et puis afficher à l'intérieur le n° qui tient compte de son rang d'arrivée?
Exemple: j'ai 10 photos sur une feuille (onglet) et j'ai 3 formes ovales déjà afficher (contenant les N° 1, 2 et 3). Je lance la macro et celle-ci affiche une nouvelle formes ovales (du même style que les autres) et ajoute à l'intérieur le N° incrémenté c'est à dire 4. Si je relance la macro elle affichera une autre forme ovale avec 5 dedans.
Merci d'avance pour l'aide que vous pourriez m'apporter.
3 réponses
-
Bonjour,
tu trouveras tout ce que tu as besoin ici:
http://boisgontierjacques.free.fr/pages_site/lesimages.htm#Ecriture
-
Merci pour ta réponse rapide.
En effet, j'ai trouvé des pistes pour avancer sur le sujet.
encore merci.-
Pour trouver la shape la dernière incrémentée, tu peux faire ceci:
Sub LireTexteShapes() Dim s As Object Dim i As Integer Dim max As Integer For Each s In ActiveSheet.Shapes i = i + 1 Cells(i, 1) = s.Name Cells(i, 2) = TexteShape(s) max = Application.max(Columns(2)) Next s MsgBox max End Sub Function TexteShape(s) TexteShape = s.TextFrame.Characters.Text End Function
il suffit de remplacer le MsgBox par une variable
Voilà
@ + Le Pivert
-
-
Bonjour à tous les deux
Une autre possibilité sans passer par les cellules
https://www.cjoint.com/c/ICen3kAr5MB
Cdlmnt