Bonjour à tous,
J'ai créé une petite macro d'effacement de cellules avec ClearContents, mais je n'ai pu effacer que des cellules nommées, ex: D132,E24:F25...en effet dans ma page j'ai fusionné des cellules dans lesquelles j'ai inséré des zones de texte ( à l'aide de l'outil dessin) que j'aimerai effacer avec les cellules déja sélectionnées.
Je n'ai pas trouvé la référence de ces cellules ni d'infos s'y rapportant.
Si quelqu'un à une idée...
code de la macro :
Sub Effacer_tout()
Range('L1,D6,D7:L13,N7:N13,D14,D15:L32,N15:N32,D33,D34:L42,N34:N42').Select
Range('L42').Activate
Selection.ClearContents
Range('D6').Select
End Sub
bonjour,
il ya tout un tas de déclinaisons autour de Shapes
ActiveSheet.Shapes('Text Box 1').Cut
ActiveSheet.Shapes.Cut
Tout dépend si tu es plusieurs Shapes
Dans ce cas tu peux peut-être utilisé des Shapes nommées...
Ok ?
roger,
j'essaye ça.
sinon tant pis pour la zone de texte, je la supprime et à la place je crée des cellules vides formatées...
c'est dommage quand même.
si t'as d'autres infos...
à plus
Bonjour 2024T3 (Un Terminator ?) lol, Roger, le Forum
Et bien moi je propose ceci qui effacera les Shapes 'Zone de Texte' uniquement :
Code:
Sub TheShapeCleaner()
Dim WS As Worksheet
Dim i As Integer
Set WS = Sheets('Feuil1'Â'Â')
For i = 1 To WS.Shapes.Count
'MsgBox 'La Shape Index N° ' & i & ' se nomme ' & WS.Shapes(i).Name
If UCase(Left(WS.Shapes(i).Name, 4)) = 'TEXT' Then
WS.Shapes(i).TextFrame.Characters.Text = ''
End If
Next
End Sub
J'ai laissé en commentaire un test pour avoir le nom de tes shapes, qui normalement en Excel Français devrait aussi se nommer en nom automatique (si tu ne le changes pas manuellement *) 'Text Box x' (pour les zones de texte)
Sinon dans la foulée, tu peux optimiser ton code 'd'effaçage' comme ceci directement sans faire de sélection (plus rapide, et moins feux d'artifice)
Code:
Sub Effacer_tout()
Range('L1,D6,D7:L13,N7:N13,D14,D15:L32,N15:N32,D33,D34:L42,N34:N42'Â'Â').ClearContents
Range('D6'Â'Â').Select
End Sub
Bon Week End @+Thierry
* Sinon nommer tes Shapes une à une avec le quatres premières Lettres 'TEXT' (TEXTClient, TEXTCode, TEXTetc)