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
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
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
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
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
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
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
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
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
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