Sur une feuille je dispose par programme une zone de texte lors de la
fermeture du fichier -ThisWorkBook_BeforeSave-
Ce fichier faisant de nombreux aller retour, il se surcharge à chaque
mouvement de cette zone de texte ; j'ai deux solutions possibles :
soit je la supprime, puis la recrée ensuite -MàJ possible
soit je la détecte pour ne pas en remettre une couche
Mais je ne trouve pas comment la sélectionner, alors je bloque.
Ce fichier sur lequel trone ma zone de texte, existe en plusieurs exemplaire
et pour chacun le nombre de zones de texte superposées différe et de plus ne
commence pas toujours au meme numero.
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
Denis Michon
Bonsoir Jean-Paul,
Je n'ai pas vraiment saisi ce que tu voulais faire mais...
La procédure suivante va sélectionner tous les zones de texte émanant de la barre d'outils dessin.
Adapte le nom de la feuille dans la procédure, à copier dans un module standard
'----------------------------- Sub SelectZoneDeText_Issu_BarreDeDessin()
Dim Sh As Shape
With Worksheets("Feuil1") For Each Sh In .Shapes If Sh.Type = msoTextBox Then Sh.Select True End If Next End With Set Sh = Nothing
End Sub '-----------------------------
Salutations!
"Jean-Paul BATAILLE" a écrit dans le message de news:3f989626$0$244$ Bonjour aux matinaux, et au autres aussi,
Sur une feuille je dispose par programme une zone de texte lors de la fermeture du fichier -ThisWorkBook_BeforeSave- Ce fichier faisant de nombreux aller retour, il se surcharge à chaque mouvement de cette zone de texte ; j'ai deux solutions possibles :
soit je la supprime, puis la recrée ensuite -MàJ possible soit je la détecte pour ne pas en remettre une couche
Mais je ne trouve pas comment la sélectionner, alors je bloque.
Ce fichier sur lequel trone ma zone de texte, existe en plusieurs exemplaire et pour chacun le nombre de zones de texte superposées différe et de plus ne commence pas toujours au meme numero.
Remerciements matinaux pour votre aide, JPB
Bonsoir Jean-Paul,
Je n'ai pas vraiment saisi ce que tu voulais faire mais...
La procédure suivante va sélectionner tous les zones de texte émanant de la barre d'outils dessin.
Adapte le nom de la feuille dans la procédure, à copier dans un module standard
'-----------------------------
Sub SelectZoneDeText_Issu_BarreDeDessin()
Dim Sh As Shape
With Worksheets("Feuil1")
For Each Sh In .Shapes
If Sh.Type = msoTextBox Then
Sh.Select True
End If
Next
End With
Set Sh = Nothing
End Sub
'-----------------------------
Salutations!
"Jean-Paul BATAILLE" <jeanpaul.bataille@free.fr> a écrit dans le message de news:3f989626$0$244$636a55ce@news.free.fr...
Bonjour aux matinaux, et au autres aussi,
Sur une feuille je dispose par programme une zone de texte lors de la
fermeture du fichier -ThisWorkBook_BeforeSave-
Ce fichier faisant de nombreux aller retour, il se surcharge à chaque
mouvement de cette zone de texte ; j'ai deux solutions possibles :
soit je la supprime, puis la recrée ensuite -MàJ possible
soit je la détecte pour ne pas en remettre une couche
Mais je ne trouve pas comment la sélectionner, alors je bloque.
Ce fichier sur lequel trone ma zone de texte, existe en plusieurs exemplaire
et pour chacun le nombre de zones de texte superposées différe et de plus ne
commence pas toujours au meme numero.
Je n'ai pas vraiment saisi ce que tu voulais faire mais...
La procédure suivante va sélectionner tous les zones de texte émanant de la barre d'outils dessin.
Adapte le nom de la feuille dans la procédure, à copier dans un module standard
'----------------------------- Sub SelectZoneDeText_Issu_BarreDeDessin()
Dim Sh As Shape
With Worksheets("Feuil1") For Each Sh In .Shapes If Sh.Type = msoTextBox Then Sh.Select True End If Next End With Set Sh = Nothing
End Sub '-----------------------------
Salutations!
"Jean-Paul BATAILLE" a écrit dans le message de news:3f989626$0$244$ Bonjour aux matinaux, et au autres aussi,
Sur une feuille je dispose par programme une zone de texte lors de la fermeture du fichier -ThisWorkBook_BeforeSave- Ce fichier faisant de nombreux aller retour, il se surcharge à chaque mouvement de cette zone de texte ; j'ai deux solutions possibles :
soit je la supprime, puis la recrée ensuite -MàJ possible soit je la détecte pour ne pas en remettre une couche
Mais je ne trouve pas comment la sélectionner, alors je bloque.
Ce fichier sur lequel trone ma zone de texte, existe en plusieurs exemplaire et pour chacun le nombre de zones de texte superposées différe et de plus ne commence pas toujours au meme numero.
Remerciements matinaux pour votre aide, JPB
AV
...feuille je dispose par programme une zone de texte
Pour éviter de la recréer si elle existe déjà :
Sub zz_Zon_Txt() On Error GoTo laFin 'la zone existe déjà ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _ 100, 100, 100, 100).Name = "maZone" 'ici tout le blabla pour mettre un texte, colorer...etc.. laFin: End Sub
AV
...feuille je dispose par programme une zone de texte
Pour éviter de la recréer si elle existe déjà :
Sub zz_Zon_Txt()
On Error GoTo laFin 'la zone existe déjà
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _
100, 100, 100, 100).Name = "maZone"
'ici tout le blabla pour mettre un texte, colorer...etc..
laFin:
End Sub
...feuille je dispose par programme une zone de texte
Pour éviter de la recréer si elle existe déjà :
Sub zz_Zon_Txt() On Error GoTo laFin 'la zone existe déjà ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _ 100, 100, 100, 100).Name = "maZone" 'ici tout le blabla pour mettre un texte, colorer...etc.. laFin: End Sub
AV
AV
Pas terrible mon truc...! Je corrige :
Sub zz_Zon_Txt() On Error Resume Next x = ActiveSheet.Shapes("maZone").Characters.Text If Err.Number <> 438 Then ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _ 100, 100, 100, 100).Name = "maZone" 'ici tout le blabla pour mettre un texte, colorer...etc.. End If End Sub
AV
Pas terrible mon truc...!
Je corrige :
Sub zz_Zon_Txt()
On Error Resume Next
x = ActiveSheet.Shapes("maZone").Characters.Text
If Err.Number <> 438 Then
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _
100, 100, 100, 100).Name = "maZone"
'ici tout le blabla pour mettre un texte, colorer...etc..
End If
End Sub
Sub zz_Zon_Txt() On Error Resume Next x = ActiveSheet.Shapes("maZone").Characters.Text If Err.Number <> 438 Then ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _ 100, 100, 100, 100).Name = "maZone" 'ici tout le blabla pour mettre un texte, colorer...etc.. End If End Sub