Je fais l'essai de cette petite procédure permettant de supprimer des
colonnes sur un classeur d'essai :
Sub Macro1()
Dim numcolonne As Long
Worksheets("a").Activate
'Force le calcul de la colonne
ActiveSheet.Range("Numcol").Calculate
numcolonne = CLng(ActiveSheet.Range("NumCol").Value)
ActiveSheet.Range(Columns(14), Columns(numcolonne - 1)).Delete
End Sub
Et ça marche. Donc la syntaxe, la déclaration de variable etc ne sont
pas pourave.
Mais dans une procédure plus longue et sur le vrai classeur, ça ne
marche pas : erreur d'execution 1004. Erreur définie par l'application
ou par l'objet et le surlignage du débugueur pointe sur :
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
papou
Bonjour Pas besoin du Range : ActiveSheet.Columns(2).Delete Cordialement Pascal
"Gilgamesh" a écrit dans le message de news:%
Bonjour,
moi pas comprendre.
Je fais l'essai de cette petite procédure permettant de supprimer des colonnes sur un classeur d'essai :
Sub Macro1() Dim numcolonne As Long Worksheets("a").Activate 'Force le calcul de la colonne ActiveSheet.Range("Numcol").Calculate numcolonne = CLng(ActiveSheet.Range("NumCol").Value) ActiveSheet.Range(Columns(14), Columns(numcolonne - 1)).Delete End Sub
Et ça marche. Donc la syntaxe, la déclaration de variable etc ne sont pas pourave.
Mais dans une procédure plus longue et sur le vrai classeur, ça ne marche pas : erreur d'execution 1004. Erreur définie par l'application ou par l'objet et le surlignage du débugueur pointe sur :
Bonjour
Pas besoin du Range :
ActiveSheet.Columns(2).Delete
Cordialement
Pascal
"Gilgamesh" <hsemaglig@uruk.com> a écrit dans le message de
news:%23IvrBhosEHA.3320@TK2MSFTNGP15.phx.gbl...
Bonjour,
moi pas comprendre.
Je fais l'essai de cette petite procédure permettant de supprimer des
colonnes sur un classeur d'essai :
Sub Macro1()
Dim numcolonne As Long
Worksheets("a").Activate
'Force le calcul de la colonne
ActiveSheet.Range("Numcol").Calculate
numcolonne = CLng(ActiveSheet.Range("NumCol").Value)
ActiveSheet.Range(Columns(14), Columns(numcolonne - 1)).Delete
End Sub
Et ça marche. Donc la syntaxe, la déclaration de variable etc ne sont
pas pourave.
Mais dans une procédure plus longue et sur le vrai classeur, ça ne
marche pas : erreur d'execution 1004. Erreur définie par l'application
ou par l'objet et le surlignage du débugueur pointe sur :
Bonjour Pas besoin du Range : ActiveSheet.Columns(2).Delete Cordialement Pascal
"Gilgamesh" a écrit dans le message de news:%
Bonjour,
moi pas comprendre.
Je fais l'essai de cette petite procédure permettant de supprimer des colonnes sur un classeur d'essai :
Sub Macro1() Dim numcolonne As Long Worksheets("a").Activate 'Force le calcul de la colonne ActiveSheet.Range("Numcol").Calculate numcolonne = CLng(ActiveSheet.Range("NumCol").Value) ActiveSheet.Range(Columns(14), Columns(numcolonne - 1)).Delete End Sub
Et ça marche. Donc la syntaxe, la déclaration de variable etc ne sont pas pourave.
Mais dans une procédure plus longue et sur le vrai classeur, ça ne marche pas : erreur d'execution 1004. Erreur définie par l'application ou par l'objet et le surlignage du débugueur pointe sur :
Es-tu sur que la cellule "Numcol" comporte une valeur numérique ?
AV
Gilgamesh
Bonjour Pas besoin du Range : ActiveSheet.Columns(2).Delete Cordialement Pascal
Bonjour pascal, merci de me répondre.
J'utilise le range parce que je veux supprimer de la colonne x à y et non pas une seule colonne x. Certe je pourrais faire une boucle. Mais ce type d'instruction (supprimer n ligne, rajouter m colonne et duppliquer une ligne ou une colonne) est central dans mon projet. Ça me simplifierait diablement la tache de pouvoir utiliser cette innocente syntaxe qui est bonne en plus, quand je l'utilise de façon isolé, mais qui bug dans une grande procédure et j'aimerais bien savoir pourquoi srogneugneu.
:-)
a+
Bonjour
Pas besoin du Range :
ActiveSheet.Columns(2).Delete
Cordialement
Pascal
Bonjour pascal, merci de me répondre.
J'utilise le range parce que je veux supprimer de la colonne x à y et
non pas une seule colonne x. Certe je pourrais faire une boucle. Mais ce
type d'instruction (supprimer n ligne, rajouter m colonne et duppliquer
une ligne ou une colonne) est central dans mon projet. Ça me
simplifierait diablement la tache de pouvoir utiliser cette innocente
syntaxe qui est bonne en plus, quand je l'utilise de façon isolé, mais
qui bug dans une grande procédure et j'aimerais bien savoir pourquoi
srogneugneu.
Bonjour Pas besoin du Range : ActiveSheet.Columns(2).Delete Cordialement Pascal
Bonjour pascal, merci de me répondre.
J'utilise le range parce que je veux supprimer de la colonne x à y et non pas une seule colonne x. Certe je pourrais faire une boucle. Mais ce type d'instruction (supprimer n ligne, rajouter m colonne et duppliquer une ligne ou une colonne) est central dans mon projet. Ça me simplifierait diablement la tache de pouvoir utiliser cette innocente syntaxe qui est bonne en plus, quand je l'utilise de façon isolé, mais qui bug dans une grande procédure et j'aimerais bien savoir pourquoi srogneugneu.
:-)
a+
Gilgamesh
Es-tu sur que la cellule "Numcol" comporte une valeur numérique ?
AV
oui, là par exemple Numcol vaut 18. ET j'ai bien pris la peine de
l'encapsuler dans CLng() pour éviter les pb de type de variable...
J'ai rajouté un espion pour NumColonne et il a bien stocké la valeur 18.
a+ et merci
Es-tu sur que la cellule "Numcol" comporte une valeur numérique ?
AV
oui, là par exemple Numcol vaut 18. ET j'ai bien pris la peine de
l'encapsuler dans CLng() pour éviter les pb de type de variable...
J'ai rajouté un espion pour NumColonne et il a bien stocké la valeur 18.