CommentCaMarche
Recherche
Posez votre question Signaler

Inserer une colonne VBA EXCEL

tobec - Dernière réponse le 14 avril 2010 à 18:14
Bonjour a tous,
Je cherche a inserer une colonne dans une feuille, une fois la colonne insérée je voudrai remplir chaque cellule avec le chiffre "1" jusqu'a la 267ème cellule.
Le tout doit etre lancé en cliquant sur un bouton.
Le bouton se trouve sur la premiere feuille (feuil1) et je dois insérer cette nouvelle colonne dans la deuxieme feuille (Feuil2).
Voila le code que g écrit :

    Sheets("Feuil2").Select
    Columns("F:F").Select
    Selection.Insert Shift:=xlToRight
    Range("F2").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("F2").Select
    Selection.AutoFill Destination:=Range("F2:F267")
    Range("F2:F267").Select


Si je suis ici, c'est évidement parce que ca ne fonctionne pas^^
voici l'erreur retournée :
"Erreur d'execution '1004'
La méthode Select de la classe Range a échoué."
Quelqu'un aurai t'il une solution?
Merci d'avance a tout ceux qui m'aideront ou essayeront de m'aider.
Lire la suite 
Réponse
+1
moins plus
Bonjour,

le mieux aurait été que tu nous dise sur quelle ligne tu avais cette erreur d'exécution !

J'ai un modifié ton code (bien qu'il n'y avait aucun problème d'exécution chez moi), car les Select alourdissent le code et l'exécution de la macro :

Sheets("Feuil2").Activate
    Columns("F:F").Insert Shift:=xlToRight
    Range("F2").FormulaR1C1 = "1"
    Range("F2").AutoFill Destination:=Range("F2:F267")
    Range("F2:F267").Select


Cordialement.
tobec- 14 avril 2010 à 16:08
J'ai essayé ton code, pas de plantage mais un probleme...la colonne est crée et rempli sur la feuille1.

L'erreur de mon code se situe sur la ligne "Columns("F:F").Select".

Merci de ton aide.
Répondre
chossette9 4432Messages postés lundi 20 avril 2009Date d'inscription ContributeurStatut 12 septembre 2014Dernière intervention - 14 avril 2010 à 16:32
Ah ? je viens de re-tester chez moi le bout de code que je t'ai fourni, ça marche niquel, la colonne se remplit bien sur la feuille 2.

Quelle version d'Excel as-tu en ta possession ?

Logiquement, l'erreur sur la sélection de la colonne a disparu avec mon code, non ?
Répondre
tobec- 14 avril 2010 à 16:52
Je me sers d'office 2003.

Oui l'erreur a bien disparu avec ton code, plus aucun bug, mais la nouvelle colonne se créé et s'alimente sur la feuille2.

Merci encore
Répondre
chossette9 4432Messages postés lundi 20 avril 2009Date d'inscription ContributeurStatut 12 septembre 2014Dernière intervention - 14 avril 2010 à 16:56
tobec - 14 avr 2010 à 16:08
J'ai essayé ton code, pas de plantage mais un probleme...la colonne est crée et rempli sur la feuille1.

tobec - 14 avr 2010 à 16:52
Je me sers d'office 2003.

Oui l'erreur a bien disparu avec ton code, plus aucun bug, mais la nouvelle colonne se créé et s'alimente sur la feuille2.


Sur quelle feuille ta colonne doit-elle être insérée ? Si c'est sur la feuille 2, le code est bon !
Répondre
tobec- 14 avril 2010 à 17:09
C'est bien sur la feuille2, mais pour une raison encore non explique ca ne fonctionne pas^^

j'ai trouvé une solution pour régler le probleme, ce n'est peu etre pas très "propre" mais ca fonctionne^^

Merci encore de ton aide, ca m'a bien aidé.

Merci encore et a bientot.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir,
'exemple insertion en colonne 4 ou D selon l'affichage

'sélection de la page
sheets(2).select

' insertion de la colonne
Range("D1").Select
Selection.EntireColumn.Insert

'remplissage avec une boucle for

for x = 1 to 267

' cells( ligne , colonne ) la ligne évolue en fonction de x

cells(X ,4)= "1"

next X

sheets(1).select


Bonne programmation
Ajouter un commentaire
Ce document intitulé «  Inserer une colonne VBA EXCEL  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.