Problème dans le rappel d'une variable
Fabrice
-
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
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
A voir également:
- Problème dans le rappel d'une variable
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret? ✓ - Forum Python
- Vba range avec variable ✓ - Forum VB / VBA
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Sms rappel moi sfr - Forum Mail
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ✓ - Forum Python
2 réponses
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
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
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
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