Excel- Explication effacement de zone
Résolu
mod77
Messages postés
1284
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je n'arrive pas à effacer une zone de ma feuille.
On m'a donné ce code VBA mais je n'arrive pas à l'appliquer pour une autre zone.
Quelqu'un peut-il m'expliquer comment ça marche SVP ?
covide = Range("IV3").End(xlToLeft).Column
'covide = Cells(lig, Rows(3).Cells.Count).End(xlToLeft).Column 'cette ligne est équivalente à la première
Range( Cells(lg, cl), Cells(3, covide) ).ClearContents
Ce que je crois :
Range(X,Y).ClearContents : j'interprète que ça efface la cellule en [XY]
Range("YX").End(xlToLeft).Column : trop obscure pour moi et le reste aussi.
---------
Si je veux effacer la zone de la cellule B5 à J10 comment dois-je écrire ces lignes SVP?
Merci.
Je n'arrive pas à effacer une zone de ma feuille.
On m'a donné ce code VBA mais je n'arrive pas à l'appliquer pour une autre zone.
Quelqu'un peut-il m'expliquer comment ça marche SVP ?
covide = Range("IV3").End(xlToLeft).Column
'covide = Cells(lig, Rows(3).Cells.Count).End(xlToLeft).Column 'cette ligne est équivalente à la première
Range( Cells(lg, cl), Cells(3, covide) ).ClearContents
Ce que je crois :
Range(X,Y).ClearContents : j'interprète que ça efface la cellule en [XY]
Range("YX").End(xlToLeft).Column : trop obscure pour moi et le reste aussi.
---------
Si je veux effacer la zone de la cellule B5 à J10 comment dois-je écrire ces lignes SVP?
Merci.
A voir également:
- Excel- Explication effacement de zone
- Alternative zone telechargement - Accueil - Outils
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
26 réponses
Le problème n'est pas d'effacer la zone mais de la sélectionner.
Je fais quelquefois ce genre de macro et j'utilise la méthode end(xldown). Exemple tu veux effacer les cellules de la colonne A. Il y a un titre en ligne 1
Je sélectionne la première cellule
Range("A2").Select
'tu sélectionne la dernière de la zone (il ne doit pas y avoir de ligne blanche)
Selection.End(xlDown).Select
x = ActiveCell.Row
'tu sélectionne la zone entière
Range("A2:A" & x).Select
Selection.ClearContents
Je pense que l'on peut le faire en plus simple
Gilles
Je fais quelquefois ce genre de macro et j'utilise la méthode end(xldown). Exemple tu veux effacer les cellules de la colonne A. Il y a un titre en ligne 1
Je sélectionne la première cellule
Range("A2").Select
'tu sélectionne la dernière de la zone (il ne doit pas y avoir de ligne blanche)
Selection.End(xlDown).Select
x = ActiveCell.Row
'tu sélectionne la zone entière
Range("A2:A" & x).Select
Selection.ClearContents
Je pense que l'on peut le faire en plus simple
Gilles
Alors pour résumer j'écris:
Range("A2").Select 'Sélection de la 1ere cellule
Selection.End(xlDown).Select 'Sélection dernier cellule de la zone
x = ActiveCell.Row ' x= dernière remplie
Range("A2:A" & x).Select 'Sélection de la colonne jusqu'à "x"
Selection.ClearContents 'Effacement
Si je veux 10 colonnes, puis-je écrire: Range("A2:J"& x) ?
Merci
Range("A2").Select 'Sélection de la 1ere cellule
Selection.End(xlDown).Select 'Sélection dernier cellule de la zone
x = ActiveCell.Row ' x= dernière remplie
Range("A2:A" & x).Select 'Sélection de la colonne jusqu'à "x"
Selection.ClearContents 'Effacement
Si je veux 10 colonnes, puis-je écrire: Range("A2:J"& x) ?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Pour ceci : Si je veux effacer la zone de la cellule B5 à J10 comment dois-je écrire ces lignes SVP?
Voice le code :
Pour ceci : Si je veux effacer la zone de la cellule B5 à J10 comment dois-je écrire ces lignes SVP?
Voice le code :
Range("B5:J10").ClearContents
Oui Gilles, j'ai vu et répondu avant le message de Le Pingou.
Merci pour votre réponse j'essaie le code maintenant, même si le code de Le Pingou me satisfait.
Merci à tous les 2.
Merci pour votre réponse j'essaie le code maintenant, même si le code de Le Pingou me satisfait.
Merci à tous les 2.
Bien sûr, la seconde méthode est bonne et c'est même la meilleure, seulement il faut que la zone soit statique.
Gilles
Gilles
Bonjour gilles et mod77,
Eh bien oui la seconde méthode est meilleure et c'est vous qui le dite.
Dans sa se cas en voilà deux très intéressantes :
Numéro de la première colonne vide à droite: par exemple pour la ligne 3
Idem pour la première ligne vide par exemple la colonne [A] ou [1]
Eh bien oui la seconde méthode est meilleure et c'est vous qui le dite.
Dans sa se cas en voilà deux très intéressantes :
Numéro de la première colonne vide à droite: par exemple pour la ligne 3
covide = Cells(3, Rows(3).Cells.Count).End(xlToLeft).Column + 1
Idem pour la première ligne vide par exemple la colonne [A] ou [1]
livide = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row + 1
Bonjour Le Pingou,
Merci pour les fomules.
covide = Cells(3, Rows(3).Cells.Count).End(xlToLeft).Column + 1
Voila justement dans votre formule ce que je ne comprend pas.
Que représente le "3" de Rows ?
Le 1er "3" c'est parce que c'est la ligne 3, non?!
idem pour la ligne A, faut-il toujours mettre 1 en fin du 1er Cells ?
livide = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row + 1
puis-je mettre "A" à la place du 1 ?
Merci
Merci pour les fomules.
covide = Cells(3, Rows(3).Cells.Count).End(xlToLeft).Column + 1
Voila justement dans votre formule ce que je ne comprend pas.
Que représente le "3" de Rows ?
Le 1er "3" c'est parce que c'est la ligne 3, non?!
idem pour la ligne A, faut-il toujours mettre 1 en fin du 1er Cells ?
livide = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row + 1
puis-je mettre "A" à la place du 1 ?
Merci
Bonjour,
Que représente le "3" de Rows ?
Rep : Rows(3) est la ligne numéro 3, mais il faut prendre l’ensemble : Rows(3).Cells.Count ou je compte le nombre des cellules de la ligne 3 et cette valeur est donc l’index de la dernière colonne (petit souvenir, c’est quoi [IV1] ) se qui me donne la position de la dernière cellule et avec le End(xlToLeft).Column je récupère le numéro de la première cellule non vide sur la gauche.
Le 1er "3" c'est parce que c'est la ligne 3, non?!
C’est l’index de ligne 3. Pour l’objet Cells(IndexLigne, IndexColonne)
puis-je mettre "A" à la place du 1 ? l’IndexColonne est un nombre, cependant il est possible d’utiliser la lettre de colonne comme ceci : livide = Cells(Columns(1).Cells.Count, [“A”]).End(xlUp).Row + 1
Que représente le "3" de Rows ?
Rep : Rows(3) est la ligne numéro 3, mais il faut prendre l’ensemble : Rows(3).Cells.Count ou je compte le nombre des cellules de la ligne 3 et cette valeur est donc l’index de la dernière colonne (petit souvenir, c’est quoi [IV1] ) se qui me donne la position de la dernière cellule et avec le End(xlToLeft).Column je récupère le numéro de la première cellule non vide sur la gauche.
Le 1er "3" c'est parce que c'est la ligne 3, non?!
C’est l’index de ligne 3. Pour l’objet Cells(IndexLigne, IndexColonne)
puis-je mettre "A" à la place du 1 ? l’IndexColonne est un nombre, cependant il est possible d’utiliser la lettre de colonne comme ceci : livide = Cells(Columns(1).Cells.Count, [“A”]).End(xlUp).Row + 1
Bonjour mod77,
Je vais regardé demain.
Il serait quand même bien si vous mettiez un petit exemple explicite (sur une feuille excel par exemple)!
Je vais regardé demain.
Il serait quand même bien si vous mettiez un petit exemple explicite (sur une feuille excel par exemple)!
Bonsoir,
Quelqu'un peut-il me dire ce qui ne va pas dans ces lignes SVP ? VBA dit " incompatibilité de type"
livide = Sheets("feuil1").Cells(Columns(1).Cells.Count, [“A”]).End(xlDown).Row + 1
Range(Sheets("feuil1").Cells(3, 1), Sheets("feuil1").Cells(livide, 1)).ClearContents
Car je dois effacer la 1ere colonne d'une autre feuille (feuil1) et j'ai essayé d'appliquer les formules précédentes.
Merci
Quelqu'un peut-il me dire ce qui ne va pas dans ces lignes SVP ? VBA dit " incompatibilité de type"
livide = Sheets("feuil1").Cells(Columns(1).Cells.Count, [“A”]).End(xlDown).Row + 1
Range(Sheets("feuil1").Cells(3, 1), Sheets("feuil1").Cells(livide, 1)).ClearContents
Car je dois effacer la 1ere colonne d'une autre feuille (feuil1) et j'ai essayé d'appliquer les formules précédentes.
Merci
Bonjour,
Sans savoir ou la procédure est arrêtée (soulignement jaune) c'est une chance sur deux !
En principe,, cette ligne n'est pas correcte:
Range(Sheets("feuil1").Cells(3, 1), Sheets("feuil1").Cells(livide, 1)).ClearContents
correcte :
Sheets("feuil1").Range(Cells(3, 1),Cells(livide, 1)).ClearContents
Sans savoir ou la procédure est arrêtée (soulignement jaune) c'est une chance sur deux !
En principe,, cette ligne n'est pas correcte:
Range(Sheets("feuil1").Cells(3, 1), Sheets("feuil1").Cells(livide, 1)).ClearContents
correcte :
Sheets("feuil1").Range(Cells(3, 1),Cells(livide, 1)).ClearContents