Bonjour,
J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date
fin et un rectangle se créée sur cette ligne en fonction de ces dates.
Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se
trouve dans une ligne.
J'ai essayé :
rows(1).clear
mais cela ne supprime pas les objets.
J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
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
JB
Bonsoir,
For Each s In ActiveSheet.Shapes If s.TopLeftCell.Row =1Then s.Delete Next s
JB
Bonjour, J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date fin et un rectangle se créée sur cette ligne en fonction de ces dates. Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se trouve dans une ligne.
J'ai essayé : rows(1).clear mais cela ne supprime pas les objets. J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
merci de votre aide Caroual
Bonsoir,
For Each s In ActiveSheet.Shapes
If s.TopLeftCell.Row =1Then s.Delete
Next s
JB
Bonjour,
J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date
fin et un rectangle se créée sur cette ligne en fonction de ces dates.
Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se
trouve dans une ligne.
J'ai essayé :
rows(1).clear
mais cela ne supprime pas les objets.
J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
For Each s In ActiveSheet.Shapes If s.TopLeftCell.Row =1Then s.Delete Next s
JB
Bonjour, J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date fin et un rectangle se créée sur cette ligne en fonction de ces dates. Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se trouve dans une ligne.
J'ai essayé : rows(1).clear mais cela ne supprime pas les objets. J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
merci de votre aide Caroual
MichDenis
Il est difficule de savoir comment tu veux que ton programme s'articule... si possible, publie sur cjoint.com une toute petite partie de ton classeur(feuille) pour voir la disposition des éléments, le tout complété par des explications sur la façon que tu voudrais automatiser la chose
Voici un petit exemple de code à partir de ta question :
Ceci supprime (affiche le message du rectangle à supprimer) tous les "Rectangles" (seulement les rectangles) sur la ligne 1 (rows(1)) qu'il y a dans ta feuille.
Le code doit être copié dans le module feuille où l'action se déroule
Pour être détruit, le rectangle doit toucher à la ligne 1 As-tu un ou d'autres critères spécifiques ? '----------------------------------------- Sub test()
Dim x As MsoAutoShapeType x = msoShapeRectangle Dim Sh As Shape Dim Rg As Range
For Each Sh In Me.Shapes With Sh Set Rg = Range(.TopLeftCell, .BottomRightCell) If Not Intersect(Rg, Rows(1)) Is Nothing Then If Sh.AutoShapeType = x Then MsgBox "Détruire " & Sh.Name 'Sh.Delete End If End If End With Next
End Sub '-----------------------------------------
"Caroual" a écrit dans le message de news: 4548de84$0$5105$ Bonjour, J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date fin et un rectangle se créée sur cette ligne en fonction de ces dates. Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se trouve dans une ligne.
J'ai essayé : rows(1).clear mais cela ne supprime pas les objets. J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
merci de votre aide Caroual
Il est difficule de savoir comment tu veux que ton programme s'articule...
si possible, publie sur cjoint.com une toute petite partie de ton classeur(feuille)
pour voir la disposition des éléments, le tout complété par des explications
sur la façon que tu voudrais automatiser la chose
Voici un petit exemple de code à partir de ta question :
Ceci supprime (affiche le message du rectangle à supprimer) tous les "Rectangles" (seulement les
rectangles)
sur la ligne 1 (rows(1)) qu'il y a dans ta feuille.
Le code doit être copié dans le module feuille où l'action se déroule
Pour être détruit, le rectangle doit toucher à la ligne 1
As-tu un ou d'autres critères spécifiques ?
'-----------------------------------------
Sub test()
Dim x As MsoAutoShapeType
x = msoShapeRectangle
Dim Sh As Shape
Dim Rg As Range
For Each Sh In Me.Shapes
With Sh
Set Rg = Range(.TopLeftCell, .BottomRightCell)
If Not Intersect(Rg, Rows(1)) Is Nothing Then
If Sh.AutoShapeType = x Then
MsgBox "Détruire " & Sh.Name
'Sh.Delete
End If
End If
End With
Next
End Sub
'-----------------------------------------
"Caroual" <nospamcaroual@wanadoo.fr> a écrit dans le message de news:
4548de84$0$5105$ba4acef3@news.orange.fr...
Bonjour,
J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date
fin et un rectangle se créée sur cette ligne en fonction de ces dates.
Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se
trouve dans une ligne.
J'ai essayé :
rows(1).clear
mais cela ne supprime pas les objets.
J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
Il est difficule de savoir comment tu veux que ton programme s'articule... si possible, publie sur cjoint.com une toute petite partie de ton classeur(feuille) pour voir la disposition des éléments, le tout complété par des explications sur la façon que tu voudrais automatiser la chose
Voici un petit exemple de code à partir de ta question :
Ceci supprime (affiche le message du rectangle à supprimer) tous les "Rectangles" (seulement les rectangles) sur la ligne 1 (rows(1)) qu'il y a dans ta feuille.
Le code doit être copié dans le module feuille où l'action se déroule
Pour être détruit, le rectangle doit toucher à la ligne 1 As-tu un ou d'autres critères spécifiques ? '----------------------------------------- Sub test()
Dim x As MsoAutoShapeType x = msoShapeRectangle Dim Sh As Shape Dim Rg As Range
For Each Sh In Me.Shapes With Sh Set Rg = Range(.TopLeftCell, .BottomRightCell) If Not Intersect(Rg, Rows(1)) Is Nothing Then If Sh.AutoShapeType = x Then MsgBox "Détruire " & Sh.Name 'Sh.Delete End If End If End With Next
End Sub '-----------------------------------------
"Caroual" a écrit dans le message de news: 4548de84$0$5105$ Bonjour, J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date fin et un rectangle se créée sur cette ligne en fonction de ces dates. Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se trouve dans une ligne.
J'ai essayé : rows(1).clear mais cela ne supprime pas les objets. J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
merci de votre aide Caroual
Caroual
La réponse JB est parfaite, cela marche très bien merci Caroual "JB" a écrit dans le message de news:
Bonsoir,
For Each s In ActiveSheet.Shapes If s.TopLeftCell.Row =1Then s.Delete Next s
JB
Bonjour, J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date fin et un rectangle se créée sur cette ligne en fonction de ces dates. Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se trouve dans une ligne.
J'ai essayé : rows(1).clear mais cela ne supprime pas les objets. J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
merci de votre aide Caroual
La réponse JB est parfaite, cela marche très bien
merci
Caroual
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1162404890.890229.245700@i42g2000cwa.googlegroups.com...
Bonsoir,
For Each s In ActiveSheet.Shapes
If s.TopLeftCell.Row =1Then s.Delete
Next s
JB
Bonjour,
J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une
date
fin et un rectangle se créée sur cette ligne en fonction de ces dates.
Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui
se
trouve dans une ligne.
J'ai essayé :
rows(1).clear
mais cela ne supprime pas les objets.
J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
La réponse JB est parfaite, cela marche très bien merci Caroual "JB" a écrit dans le message de news:
Bonsoir,
For Each s In ActiveSheet.Shapes If s.TopLeftCell.Row =1Then s.Delete Next s
JB
Bonjour, J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date fin et un rectangle se créée sur cette ligne en fonction de ces dates. Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se trouve dans une ligne.
J'ai essayé : rows(1).clear mais cela ne supprime pas les objets. J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
merci de votre aide Caroual
MichDenis
Une petite question : Pourquoi faire référence aux "Rectangles" seulement dans ta question si tu acceptes que n'importe quel shape peut être supprimer si elle touche à la ligne 1 par exemple
Observe ce qui se passe si tu as des commentaires en ligne 1 par exemple !
"Caroual" a écrit dans le message de news: 4548fd0a$0$27391$ La réponse JB est parfaite, cela marche très bien merci Caroual "JB" a écrit dans le message de news:
Bonsoir,
For Each s In ActiveSheet.Shapes If s.TopLeftCell.Row =1Then s.Delete Next s
JB
Bonjour, J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date fin et un rectangle se créée sur cette ligne en fonction de ces dates. Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se trouve dans une ligne.
J'ai essayé : rows(1).clear mais cela ne supprime pas les objets. J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
merci de votre aide Caroual
Une petite question : Pourquoi faire référence aux "Rectangles" seulement dans ta question
si tu acceptes que n'importe quel shape peut être supprimer si elle touche à la ligne 1 par exemple
Observe ce qui se passe si tu as des commentaires en ligne 1 par exemple !
"Caroual" <nospamcaroual@wanadoo.fr> a écrit dans le message de news:
4548fd0a$0$27391$ba4acef3@news.orange.fr...
La réponse JB est parfaite, cela marche très bien
merci
Caroual
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1162404890.890229.245700@i42g2000cwa.googlegroups.com...
Bonsoir,
For Each s In ActiveSheet.Shapes
If s.TopLeftCell.Row =1Then s.Delete
Next s
JB
Bonjour,
J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une
date
fin et un rectangle se créée sur cette ligne en fonction de ces dates.
Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui
se
trouve dans une ligne.
J'ai essayé :
rows(1).clear
mais cela ne supprime pas les objets.
J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.
Une petite question : Pourquoi faire référence aux "Rectangles" seulement dans ta question si tu acceptes que n'importe quel shape peut être supprimer si elle touche à la ligne 1 par exemple
Observe ce qui se passe si tu as des commentaires en ligne 1 par exemple !
"Caroual" a écrit dans le message de news: 4548fd0a$0$27391$ La réponse JB est parfaite, cela marche très bien merci Caroual "JB" a écrit dans le message de news:
Bonsoir,
For Each s In ActiveSheet.Shapes If s.TopLeftCell.Row =1Then s.Delete Next s
JB
Bonjour, J'ai créé une sorte de gant. A chaque ligne j'ai une date début et une date fin et un rectangle se créée sur cette ligne en fonction de ces dates. Je voudrais savoir s'il est possible en vba de supprimer un rectangle qui se trouve dans une ligne.
J'ai essayé : rows(1).clear mais cela ne supprime pas les objets. J'ai d'autres rectangles dans ma feuille que je ne veux pas supprimer.