OVH Cloud OVH Cloud

Effacer des données

3 réponses
Avatar
Christian de BXL
Bonjour à tous,
Je ne suis pas un grand expert en Excel et en VBA,cependant je voudrais
créer une macro (que j'associerai à un bouton) me permettant d'effacer les
données d'une cellule que je sélectionnerais ainsi que des 14 cellules à sa
droite. Si j'utilise l'enregistreur de macro je n'obtient une macro que pour
une plage donnée
cela donne ceci:
Range("B3:P3").Select
Selection.ClearContents
Range("B3").Select
Que dois-je faire pour que ClearContents s'applique à 15 cellules (sélection
+ 14) à partir de n'importe quelle cellule sélectionnée?
Il ne m'est pas possible d'effacer toutes les données de la ligne
concernée,car la première cellule contient des informations à garder.
J'espère vous avoir décrit suffisament clairement mon problème.
Je travaille sous Excel 97 et Windows 2000
Merci de vos avis
Christian

3 réponses

Avatar
isabelle
bonjour Christian,

Range(ActiveCell.Address).Resize(, 14).ClearContents

isabelle


Bonjour à tous,
Je ne suis pas un grand expert en Excel et en VBA,cependant je voudrais
créer une macro (que j'associerai à un bouton) me permettant d'effacer les
données d'une cellule que je sélectionnerais ainsi que des 14 cellules à sa
droite. Si j'utilise l'enregistreur de macro je n'obtient une macro que pour
une plage donnée
cela donne ceci:
Range("B3:P3").Select
Selection.ClearContents
Range("B3").Select
Que dois-je faire pour que ClearContents s'applique à 15 cellules (sélection
+ 14) à partir de n'importe quelle cellule sélectionnée?
Il ne m'est pas possible d'effacer toutes les données de la ligne
concernée,car la première cellule contient des informations à garder.
J'espère vous avoir décrit suffisament clairement mon problème.
Je travaille sous Excel 97 et Windows 2000
Merci de vos avis
Christian


Avatar
Christian de BXL
Merci Benjamin,
Cela fonctionne parfaitement.Depuis le post de mon message,j'ai trouvé qu'il
était possible d'enregistrer une macro avec des références relatives plutôt
qu'absolue.Je suis arrivé à la solution une fois,mais après rebelotte,je me
retrouve tjrs en absolue.
Ton aide m'a été précieuse
Christian


Christian,

L'enregistreur creer une macro en "dur" cad en utilisant les cellules que tu
utilisent. Il faut a chaque fois reprendre pour que la macro s'adapte aux
besoins. Ici, il faut remplacer "B3:P3" par une variable :

Selection, selection.offset(0,14)

ainsi, ta plage de donnée sur laquelle tu vas faire clearcontents sera de la
cellule actuellement selectionnée à la 14ème cellule sur la droite de la
cellule selectionnee.

Le code peut se simplifier par :
sub essai()
range(selection, selection.offset(0,14)).clearcontents
end sub

Cordialement
Benjamin

"Christian de BXL" wrote:

Bonjour à tous,
Je ne suis pas un grand expert en Excel et en VBA,cependant je voudrais
créer une macro (que j'associerai à un bouton) me permettant d'effacer les
données d'une cellule que je sélectionnerais ainsi que des 14 cellules à sa
droite. Si j'utilise l'enregistreur de macro je n'obtient une macro que pour
une plage donnée
cela donne ceci:
Range("B3:P3").Select
Selection.ClearContents
Range("B3").Select
Que dois-je faire pour que ClearContents s'applique à 15 cellules (sélection
+ 14) à partir de n'importe quelle cellule sélectionnée?
Il ne m'est pas possible d'effacer toutes les données de la ligne
concernée,car la première cellule contient des informations à garder.
J'espère vous avoir décrit suffisament clairement mon problème.
Je travaille sous Excel 97 et Windows 2000
Merci de vos avis
Christian




Avatar
poy-poy
Avec plaisir :)

Benjamin

"Christian de BXL" wrote:

Merci Benjamin,
Cela fonctionne parfaitement.Depuis le post de mon message,j'ai trouvé qu'il
était possible d'enregistrer une macro avec des références relatives plutôt
qu'absolue.Je suis arrivé à la solution une fois,mais après rebelotte,je me
retrouve tjrs en absolue.
Ton aide m'a été précieuse
Christian


Christian,

L'enregistreur creer une macro en "dur" cad en utilisant les cellules que tu
utilisent. Il faut a chaque fois reprendre pour que la macro s'adapte aux
besoins. Ici, il faut remplacer "B3:P3" par une variable :

Selection, selection.offset(0,14)

ainsi, ta plage de donnée sur laquelle tu vas faire clearcontents sera de la
cellule actuellement selectionnée à la 14ème cellule sur la droite de la
cellule selectionnee.

Le code peut se simplifier par :
sub essai()
range(selection, selection.offset(0,14)).clearcontents
end sub

Cordialement
Benjamin

"Christian de BXL" wrote:

Bonjour à tous,
Je ne suis pas un grand expert en Excel et en VBA,cependant je voudrais
créer une macro (que j'associerai à un bouton) me permettant d'effacer les
données d'une cellule que je sélectionnerais ainsi que des 14 cellules à sa
droite. Si j'utilise l'enregistreur de macro je n'obtient une macro que pour
une plage donnée
cela donne ceci:
Range("B3:P3").Select
Selection.ClearContents
Range("B3").Select
Que dois-je faire pour que ClearContents s'applique à 15 cellules (sélection
+ 14) à partir de n'importe quelle cellule sélectionnée?
Il ne m'est pas possible d'effacer toutes les données de la ligne
concernée,car la première cellule contient des informations à garder.
J'espère vous avoir décrit suffisament clairement mon problème.
Je travaille sous Excel 97 et Windows 2000
Merci de vos avis
Christian