Problème dans le rappel d'une variable

Fabrice -  
 Fabrice -
Bonjour,

Voila je suis en train de faire une macro qui copie des éléments d'une feuille, sur une autre feuille. Problème il y a des cases à cocher que je veux supprimer par la même occasion dans la macro. Bon j'ai écrit ca:

Sub Macro1()
Dim i As Integer
For i = 1 To 300
ActiveSheet.Shapes("Check Box" & i &).Select 'apparemment il y a un problème ici dans l'appel de la variable'
Selection.Delete
Next i

End Sub

En gros j'arrive pas à trouver l'écriture pour rappeler ma variable i ... Avec vous une idée ? une solution ? :p

Merci
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Cela devrait faire l'affaire

    Sub Macro1()
    Dim i As Integer
    On Error GoTo Fin 'si le nombre d'objet a enlever est inférieur a la valeur maxi de i
    For i = 1 To 300
    ActiveSheet.Shapes("CheckBox" & i).Select
    Selection.Delete
    Next i
    Fin:
    End Sub

    Bonne suite
    0
  2. Fabrice
     
    Merci pour cette réponse rapide,

    Je sais pas pour quelle raison mais l'expression: ActiveSheet.Shapes("CheckBox" & i).Select pose toujours problème, et le fait de mettre la commande: On Error GoTo Fin renvoie immédiatement le programme à sa fin et la macro ne fait rien...

    En fait, sur ma feuille, il y a beaucoup moins de 300 "check box". Il s'agit d'intégrer ce petit programme dans un programme plus gros qui copie certaines lignes d'une page A sur une page B, et donc suprimer les check box de la page B dont la dénomination peut aller jusqu'à Checkbox 299 ... mais il n'y en a pas autant. il pourra par exemple y avoir la checkbox239 mais pas de checkbox238 ... Peut être que au final il n'y aura à supprimer que 20 ou 30 checkbox, mais il faut balayer toutes les possibilités

    J'avais pensé à inverser la ligne Fin: et Next i au cas où s'il y a erreur la boucle continue sur le prochain i mais y a toujours cette erreur dans la rédaction de la macro

    Après peut être existe t il une commande qui sélectionne toutes les check box de la feuille de calcul et qui les supprime, ou une autre méthode pour arriver à ce résultat, mais je ne le connais pas
    0