J'ai besoin d'un sérieux coup de main, car les recherches effectuées ne
rapportent pas beaucoup de résultats sur ce sujet (3 sur Google group...)
*Mes données*
La carte d'un département découpé par code postal (une "freeform" par code
postal .
Un tableau avec, entre autres, les colonnes suivantes :
1° Code postal sur 5 caractères numériques (Le tableau est trié sur cette
colonne),
2° Libellé du bureau distributeur,
3° N° actuel de la form ("Freeform 98" par exemple) généré par l'appli.
4°... etc
*Mon premier souhait*
Renommer de manière logique les "Freeform" : la "Freeform 45 "(col 3) qui
correspond à Dijon (Col 2) devrait être renommée 21000 (Col 1)
J'ai trouvé le code (en fin de ce post) de Denis, mais n'arrive pas à
l'adapter avec index/equiv en VBA.
*Mon deuxième souhait *
Sélectionner un ou plusieurs codes postaux (sélection continue ou multiple)
dans le tableau (Col 1), et colorer simultanément *le fond de la cellule et
de la forme* correspondante. Je crois savoir qu'il n'y a pas de proc.
évenementielle qui détecte un changement de format, alors un bouton fera
l'affaire.
Je sais qu'en ce samedi soir, j'en demande beaucoup, mais si l'un(e) d'entre
vous pouvait me fournir au moins un lien, je lui en serais déjà très
reconnaissant.
Bon WE à tous.
PS : le code de Michdenis
-gloire à Lui-
'---------------------------
Sub RenommerFreeForm()
Dim S As MsoShapeType
S = msoFreeform
For Each sh In ActiveSheet.Shapes
If sh.Type = S Then
a = a + 1
sh.Name = "Toto" & a
End If
Next
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Modeste
Bonsour® Patrick BASTARD avec ferveur ;o))) vous nous disiez :
*Mes données* La carte d'un département découpé par code postal (une "freeform" par code postal . Un tableau avec, entre autres, les colonnes suivantes : 1° Code postal sur 5 caractères numériques (Le tableau est trié sur cette colonne), 2° Libellé du bureau distributeur, 3° N° actuel de la form ("Freeform 98" par exemple) généré par l'appli. 4°... etc
*Mon premier souhait* Renommer de manière logique les "Freeform" : la "Freeform 45 "(col 3) qui correspond à Dijon (Col 2) devrait être renommée 21000 (Col 1)
en prenant le probleme differement ;o)))
Sub renommer_freeform() '----- adapter ici le nom de la feuille contenant les données Set DD = ActiveWorkbook.Sheets("Mes données")
'----- adapter ici le nom de la feuille contenant les freeform Set FF = ActiveWorkbook.Sheets("mes freeForm")
'----- adapter ici la ligne de depart en cas de ligne d'entete ligne = 1 ' <==2 si entete
'----- sous réserve que la feuille "Mes données" recense tout les freeforms !!!! '----- cette boucle ne marchera qu'une fois car le nom de la freeform aura alors été changé While Not IsEmpty(DD.Cells(ligne, 1)) FF.Shapes(DD.Cells(ligne, 3)).Name = Format(DD.Cells(ligne, 1), "00000") Application.StatusBar = "traitement bureau distributeur " & DD.Cells(ligne, 2) ligne = ligne + 1 Wend
End Sub
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Bonsour® Patrick BASTARD avec ferveur ;o))) vous nous disiez :
*Mes données*
La carte d'un département découpé par code postal (une "freeform" par code
postal .
Un tableau avec, entre autres, les colonnes suivantes :
1° Code postal sur 5 caractères numériques (Le tableau est trié sur cette
colonne),
2° Libellé du bureau distributeur,
3° N° actuel de la form ("Freeform 98" par exemple) généré par l'appli.
4°... etc
*Mon premier souhait*
Renommer de manière logique les "Freeform" : la "Freeform 45 "(col 3) qui
correspond à Dijon (Col 2) devrait être renommée 21000 (Col 1)
en prenant le probleme differement ;o)))
Sub renommer_freeform()
'----- adapter ici le nom de la feuille contenant les données
Set DD = ActiveWorkbook.Sheets("Mes données")
'----- adapter ici le nom de la feuille contenant les freeform
Set FF = ActiveWorkbook.Sheets("mes freeForm")
'----- adapter ici la ligne de depart en cas de ligne d'entete
ligne = 1 ' <==2 si entete
'----- sous réserve que la feuille "Mes données" recense tout les freeforms
!!!!
'----- cette boucle ne marchera qu'une fois car le nom de la freeform aura
alors été changé
While Not IsEmpty(DD.Cells(ligne, 1))
FF.Shapes(DD.Cells(ligne, 3)).Name = Format(DD.Cells(ligne, 1), "00000")
Application.StatusBar = "traitement bureau distributeur " &
DD.Cells(ligne, 2)
ligne = ligne + 1
Wend
End Sub
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
Bonsour® Patrick BASTARD avec ferveur ;o))) vous nous disiez :
*Mes données* La carte d'un département découpé par code postal (une "freeform" par code postal . Un tableau avec, entre autres, les colonnes suivantes : 1° Code postal sur 5 caractères numériques (Le tableau est trié sur cette colonne), 2° Libellé du bureau distributeur, 3° N° actuel de la form ("Freeform 98" par exemple) généré par l'appli. 4°... etc
*Mon premier souhait* Renommer de manière logique les "Freeform" : la "Freeform 45 "(col 3) qui correspond à Dijon (Col 2) devrait être renommée 21000 (Col 1)
en prenant le probleme differement ;o)))
Sub renommer_freeform() '----- adapter ici le nom de la feuille contenant les données Set DD = ActiveWorkbook.Sheets("Mes données")
'----- adapter ici le nom de la feuille contenant les freeform Set FF = ActiveWorkbook.Sheets("mes freeForm")
'----- adapter ici la ligne de depart en cas de ligne d'entete ligne = 1 ' <==2 si entete
'----- sous réserve que la feuille "Mes données" recense tout les freeforms !!!! '----- cette boucle ne marchera qu'une fois car le nom de la freeform aura alors été changé While Not IsEmpty(DD.Cells(ligne, 1)) FF.Shapes(DD.Cells(ligne, 3)).Name = Format(DD.Cells(ligne, 1), "00000") Application.StatusBar = "traitement bureau distributeur " & DD.Cells(ligne, 2) ligne = ligne + 1 Wend
End Sub
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Patrick BASTARD
Bonsoir, *Modeste*
Mon premier souhait semble s'être réalisé, et plus vite que je ne l'espérais.
Ce qui tend à prouver que "à toute âme bien née, le nombre des années n'attente pas à la valeur"
Un Grand MERCI, *Modeste*
-- Bien amicordialement, P. Bastard
Bonsour® Patrick BASTARD avec ferveur ;o))) vous nous disiez :
*Mes données* La carte d'un département découpé par code postal (une "freeform" par code postal . Un tableau avec, entre autres, les colonnes suivantes : 1° Code postal sur 5 caractères numériques (Le tableau est trié sur cette colonne), 2° Libellé du bureau distributeur, 3° N° actuel de la form ("Freeform 98" par exemple) généré par l'appli. 4°... etc
*Mon premier souhait* Renommer de manière logique les "Freeform" : la "Freeform 45 "(col 3) qui correspond à Dijon (Col 2) devrait être renommée 21000 (Col 1)
en prenant le probleme differement ;o)))
Sub renommer_freeform() '----- adapter ici le nom de la feuille contenant les données Set DD = ActiveWorkbook.Sheets("Mes données")
'----- adapter ici le nom de la feuille contenant les freeform Set FF = ActiveWorkbook.Sheets("mes freeForm")
'----- adapter ici la ligne de depart en cas de ligne d'entete ligne = 1 ' <==2 si entete
'----- sous réserve que la feuille "Mes données" recense tout les freeforms !!!! '----- cette boucle ne marchera qu'une fois car le nom de la freeform aura alors été changé While Not IsEmpty(DD.Cells(ligne, 1)) FF.Shapes(DD.Cells(ligne, 3)).Name = Format(DD.Cells(ligne, 1), "00000") Application.StatusBar = "traitement bureau distributeur " & DD.Cells(ligne, 2) ligne = ligne + 1 Wend
End Sub
Bonsoir, *Modeste*
Mon premier souhait semble s'être réalisé, et plus vite que je ne
l'espérais.
Ce qui tend à prouver que
"à toute âme bien née, le nombre des années n'attente pas à la valeur"
Un Grand MERCI, *Modeste*
--
Bien amicordialement,
P. Bastard
Bonsour® Patrick BASTARD avec ferveur ;o))) vous nous disiez :
*Mes données*
La carte d'un département découpé par code postal (une "freeform"
par code postal .
Un tableau avec, entre autres, les colonnes suivantes :
1° Code postal sur 5 caractères numériques (Le tableau est trié sur
cette colonne),
2° Libellé du bureau distributeur,
3° N° actuel de la form ("Freeform 98" par exemple) généré par
l'appli. 4°... etc
*Mon premier souhait*
Renommer de manière logique les "Freeform" : la "Freeform 45 "(col
3) qui correspond à Dijon (Col 2) devrait être renommée 21000 (Col 1)
en prenant le probleme differement ;o)))
Sub renommer_freeform()
'----- adapter ici le nom de la feuille contenant les données
Set DD = ActiveWorkbook.Sheets("Mes données")
'----- adapter ici le nom de la feuille contenant les freeform
Set FF = ActiveWorkbook.Sheets("mes freeForm")
'----- adapter ici la ligne de depart en cas de ligne d'entete
ligne = 1 ' <==2 si entete
'----- sous réserve que la feuille "Mes données" recense tout les
freeforms !!!!
'----- cette boucle ne marchera qu'une fois car le nom de la
freeform aura alors été changé
While Not IsEmpty(DD.Cells(ligne, 1))
FF.Shapes(DD.Cells(ligne, 3)).Name = Format(DD.Cells(ligne, 1),
"00000") Application.StatusBar = "traitement bureau distributeur "
& DD.Cells(ligne, 2)
ligne = ligne + 1
Wend
Mon premier souhait semble s'être réalisé, et plus vite que je ne l'espérais.
Ce qui tend à prouver que "à toute âme bien née, le nombre des années n'attente pas à la valeur"
Un Grand MERCI, *Modeste*
-- Bien amicordialement, P. Bastard
Bonsour® Patrick BASTARD avec ferveur ;o))) vous nous disiez :
*Mes données* La carte d'un département découpé par code postal (une "freeform" par code postal . Un tableau avec, entre autres, les colonnes suivantes : 1° Code postal sur 5 caractères numériques (Le tableau est trié sur cette colonne), 2° Libellé du bureau distributeur, 3° N° actuel de la form ("Freeform 98" par exemple) généré par l'appli. 4°... etc
*Mon premier souhait* Renommer de manière logique les "Freeform" : la "Freeform 45 "(col 3) qui correspond à Dijon (Col 2) devrait être renommée 21000 (Col 1)
en prenant le probleme differement ;o)))
Sub renommer_freeform() '----- adapter ici le nom de la feuille contenant les données Set DD = ActiveWorkbook.Sheets("Mes données")
'----- adapter ici le nom de la feuille contenant les freeform Set FF = ActiveWorkbook.Sheets("mes freeForm")
'----- adapter ici la ligne de depart en cas de ligne d'entete ligne = 1 ' <==2 si entete
'----- sous réserve que la feuille "Mes données" recense tout les freeforms !!!! '----- cette boucle ne marchera qu'une fois car le nom de la freeform aura alors été changé While Not IsEmpty(DD.Cells(ligne, 1)) FF.Shapes(DD.Cells(ligne, 3)).Name = Format(DD.Cells(ligne, 1), "00000") Application.StatusBar = "traitement bureau distributeur " & DD.Cells(ligne, 2) ligne = ligne + 1 Wend
End Sub
Modeste
Bonsour® Patrick BASTARD avec ferveur ;o))) vous nous disiez :
Bonsoir, *Modeste*
Mon premier souhait semble s'être réalisé
;o))) non testé ... mais le deuxieme souhait devrait pouvoir se réaliser comme ceci for each cellule in selection '----la couleur pourra éventuellement etre issue d'un colorPicker (voir excelabo ou jwalk) cellule.interior.color=vbblue sheets("freeforms").drawingobjects(cellule.text).interior.color=vbblue next
private joke : nul besoin de faire appel à Albert, ni de faire l'autruche ;o))) n'est-ce pas JPS ???
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Bonsour® Patrick BASTARD avec ferveur ;o))) vous nous disiez :
Bonsoir, *Modeste*
Mon premier souhait semble s'être réalisé
;o)))
non testé ...
mais le deuxieme souhait devrait pouvoir se réaliser comme ceci
for each cellule in selection
'----la couleur pourra éventuellement etre issue d'un colorPicker (voir
excelabo ou jwalk)
cellule.interior.color=vbblue
sheets("freeforms").drawingobjects(cellule.text).interior.color=vbblue
next
private joke :
nul besoin de faire appel à Albert, ni de faire l'autruche ;o)))
n'est-ce pas JPS ???
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
Bonsour® Patrick BASTARD avec ferveur ;o))) vous nous disiez :
Bonsoir, *Modeste*
Mon premier souhait semble s'être réalisé
;o))) non testé ... mais le deuxieme souhait devrait pouvoir se réaliser comme ceci for each cellule in selection '----la couleur pourra éventuellement etre issue d'un colorPicker (voir excelabo ou jwalk) cellule.interior.color=vbblue sheets("freeforms").drawingobjects(cellule.text).interior.color=vbblue next
private joke : nul besoin de faire appel à Albert, ni de faire l'autruche ;o))) n'est-ce pas JPS ???
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr