Bonsoir à tous.
J'ai besoin d'un conseil, alors bien logiquement, je m'adresse aux aimables
contributeurs (je n'ai pas dit contribuables ;-) ) bénévoles de ce forum.
Le projet :
crér un tableau permettant la saisie d'anomalies, et les différentes actions
mises en place pour les suivre.
(une ligne par anomalie).
L'utilisation :
Ce tableau sera utilisé par plusieurs personnes pouvant soit détecter une ou
des anomalies, soit corriger une ou des anomalies.Ces utilisateurs savent,
sur Excel, remplir une cellule mais pas beaucoup plus, et en tous cas ne
connaissent même pas le terme VBA.
L'objectif :
L'homme n'étant que ce qu'il est, il peut être parfois tenté de supprimer
une anomalie dont la responsabilité ou le traitement lui incombe.
Je souhaite donc qu'une fois une anomalie saisie, il soit impossible de
modifier la cellule concernée.
(procédure événementielle après validation? avec un peu de temps, de sueur
et de larmes, je devrais y arriver seul).
Idem pour une cellule contenant une action de correction.
Le hic, et là je fais appel à toutes les bonnes volontés :
il arrive fréquemment que les anomalies concernent des groupes de
références, récupérées sur une appli interne, et copiées - collées sur
plusieurs lignes.
D'où ma question :
Dans ce cas, comment capter la zone pour la protéger contre les
modifications?
Merci déjà d'avoir eu la patience de me lire,
Et d'avance merci pour vos idées, vos pistes de solution. Elles seront les
bienvenues.
Cordialement
Patrick.
Bonsoir à tous.
J'ai besoin d'un conseil, alors bien logiquement, je m'adresse aux aimables
contributeurs (je n'ai pas dit contribuables ;-) ) bénévoles de ce forum.
Le projet :
crér un tableau permettant la saisie d'anomalies, et les différentes actions
mises en place pour les suivre.
(une ligne par anomalie).
L'utilisation :
Ce tableau sera utilisé par plusieurs personnes pouvant soit détecter une ou
des anomalies, soit corriger une ou des anomalies.Ces utilisateurs savent,
sur Excel, remplir une cellule mais pas beaucoup plus, et en tous cas ne
connaissent même pas le terme VBA.
L'objectif :
L'homme n'étant que ce qu'il est, il peut être parfois tenté de supprimer
une anomalie dont la responsabilité ou le traitement lui incombe.
Je souhaite donc qu'une fois une anomalie saisie, il soit impossible de
modifier la cellule concernée.
(procédure événementielle après validation? avec un peu de temps, de sueur
et de larmes, je devrais y arriver seul).
Idem pour une cellule contenant une action de correction.
Le hic, et là je fais appel à toutes les bonnes volontés :
il arrive fréquemment que les anomalies concernent des groupes de
références, récupérées sur une appli interne, et copiées - collées sur
plusieurs lignes.
D'où ma question :
Dans ce cas, comment capter la zone pour la protéger contre les
modifications?
Merci déjà d'avoir eu la patience de me lire,
Et d'avance merci pour vos idées, vos pistes de solution. Elles seront les
bienvenues.
Cordialement
Patrick.
Bonsoir à tous.
J'ai besoin d'un conseil, alors bien logiquement, je m'adresse aux aimables
contributeurs (je n'ai pas dit contribuables ;-) ) bénévoles de ce forum.
Le projet :
crér un tableau permettant la saisie d'anomalies, et les différentes actions
mises en place pour les suivre.
(une ligne par anomalie).
L'utilisation :
Ce tableau sera utilisé par plusieurs personnes pouvant soit détecter une ou
des anomalies, soit corriger une ou des anomalies.Ces utilisateurs savent,
sur Excel, remplir une cellule mais pas beaucoup plus, et en tous cas ne
connaissent même pas le terme VBA.
L'objectif :
L'homme n'étant que ce qu'il est, il peut être parfois tenté de supprimer
une anomalie dont la responsabilité ou le traitement lui incombe.
Je souhaite donc qu'une fois une anomalie saisie, il soit impossible de
modifier la cellule concernée.
(procédure événementielle après validation? avec un peu de temps, de sueur
et de larmes, je devrais y arriver seul).
Idem pour une cellule contenant une action de correction.
Le hic, et là je fais appel à toutes les bonnes volontés :
il arrive fréquemment que les anomalies concernent des groupes de
références, récupérées sur une appli interne, et copiées - collées sur
plusieurs lignes.
D'où ma question :
Dans ce cas, comment capter la zone pour la protéger contre les
modifications?
Merci déjà d'avoir eu la patience de me lire,
Et d'avance merci pour vos idées, vos pistes de solution. Elles seront les
bienvenues.
Cordialement
Patrick.
Bonsoir,
Un début de solution à tester :
- assure toi d'abord que l'ensemble des cellules de la feuille qui
contient le tableau de saisie est *déverrouillé*
- recopie cette procédure dans le module de code de cette même
feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
With Me
.Unprotect
.UsedRange.Cells.Locked = True
.Protect
End With
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir à tous.
J'ai besoin d'un conseil, alors bien logiquement, je m'adresse aux
aimables contributeurs (je n'ai pas dit contribuables ;-) )
bénévoles de ce forum. Le projet :
crér un tableau permettant la saisie d'anomalies, et les différentes
actions mises en place pour les suivre.
(une ligne par anomalie).
L'utilisation :
Ce tableau sera utilisé par plusieurs personnes pouvant soit
détecter une ou des anomalies, soit corriger une ou des
anomalies.Ces utilisateurs savent, sur Excel, remplir une cellule
mais pas beaucoup plus, et en tous cas ne connaissent même pas le
terme VBA. L'objectif :
L'homme n'étant que ce qu'il est, il peut être parfois tenté de
supprimer une anomalie dont la responsabilité ou le traitement lui
incombe. Je souhaite donc qu'une fois une anomalie saisie, il soit
impossible
de modifier la cellule concernée.
(procédure événementielle après validation? avec un peu de temps, de
sueur et de larmes, je devrais y arriver seul).
Idem pour une cellule contenant une action de correction.
Le hic, et là je fais appel à toutes les bonnes volontés :
il arrive fréquemment que les anomalies concernent des groupes de
références, récupérées sur une appli interne, et copiées - collées
sur plusieurs lignes.
D'où ma question :
Dans ce cas, comment capter la zone pour la protéger contre les
modifications?
Merci déjà d'avoir eu la patience de me lire,
Et d'avance merci pour vos idées, vos pistes de solution. Elles
seront les bienvenues.
Cordialement
Patrick.
Bonsoir,
Un début de solution à tester :
- assure toi d'abord que l'ensemble des cellules de la feuille qui
contient le tableau de saisie est *déverrouillé*
- recopie cette procédure dans le module de code de cette même
feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
With Me
.Unprotect
.UsedRange.Cells.Locked = True
.Protect
End With
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir à tous.
J'ai besoin d'un conseil, alors bien logiquement, je m'adresse aux
aimables contributeurs (je n'ai pas dit contribuables ;-) )
bénévoles de ce forum. Le projet :
crér un tableau permettant la saisie d'anomalies, et les différentes
actions mises en place pour les suivre.
(une ligne par anomalie).
L'utilisation :
Ce tableau sera utilisé par plusieurs personnes pouvant soit
détecter une ou des anomalies, soit corriger une ou des
anomalies.Ces utilisateurs savent, sur Excel, remplir une cellule
mais pas beaucoup plus, et en tous cas ne connaissent même pas le
terme VBA. L'objectif :
L'homme n'étant que ce qu'il est, il peut être parfois tenté de
supprimer une anomalie dont la responsabilité ou le traitement lui
incombe. Je souhaite donc qu'une fois une anomalie saisie, il soit
impossible
de modifier la cellule concernée.
(procédure événementielle après validation? avec un peu de temps, de
sueur et de larmes, je devrais y arriver seul).
Idem pour une cellule contenant une action de correction.
Le hic, et là je fais appel à toutes les bonnes volontés :
il arrive fréquemment que les anomalies concernent des groupes de
références, récupérées sur une appli interne, et copiées - collées
sur plusieurs lignes.
D'où ma question :
Dans ce cas, comment capter la zone pour la protéger contre les
modifications?
Merci déjà d'avoir eu la patience de me lire,
Et d'avance merci pour vos idées, vos pistes de solution. Elles
seront les bienvenues.
Cordialement
Patrick.
Bonsoir,
Un début de solution à tester :
- assure toi d'abord que l'ensemble des cellules de la feuille qui
contient le tableau de saisie est *déverrouillé*
- recopie cette procédure dans le module de code de cette même
feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
With Me
.Unprotect
.UsedRange.Cells.Locked = True
.Protect
End With
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir à tous.
J'ai besoin d'un conseil, alors bien logiquement, je m'adresse aux
aimables contributeurs (je n'ai pas dit contribuables ;-) )
bénévoles de ce forum. Le projet :
crér un tableau permettant la saisie d'anomalies, et les différentes
actions mises en place pour les suivre.
(une ligne par anomalie).
L'utilisation :
Ce tableau sera utilisé par plusieurs personnes pouvant soit
détecter une ou des anomalies, soit corriger une ou des
anomalies.Ces utilisateurs savent, sur Excel, remplir une cellule
mais pas beaucoup plus, et en tous cas ne connaissent même pas le
terme VBA. L'objectif :
L'homme n'étant que ce qu'il est, il peut être parfois tenté de
supprimer une anomalie dont la responsabilité ou le traitement lui
incombe. Je souhaite donc qu'une fois une anomalie saisie, il soit
impossible
de modifier la cellule concernée.
(procédure événementielle après validation? avec un peu de temps, de
sueur et de larmes, je devrais y arriver seul).
Idem pour une cellule contenant une action de correction.
Le hic, et là je fais appel à toutes les bonnes volontés :
il arrive fréquemment que les anomalies concernent des groupes de
références, récupérées sur une appli interne, et copiées - collées
sur plusieurs lignes.
D'où ma question :
Dans ce cas, comment capter la zone pour la protéger contre les
modifications?
Merci déjà d'avoir eu la patience de me lire,
Et d'avance merci pour vos idées, vos pistes de solution. Elles
seront les bienvenues.
Cordialement
Patrick.
Bonjour, *Frédéric*
J'ai lu ton post uhTiJA$
avec le plus grand intéret, et je te remercie de t'être penché sur mon
problème.
Le code que tu m'as conseillé fonctionne parfaitement lorsque les entrées se
font sur une même colonne, et qu'il n'y a pas de mise en forme.
J'ai cependant remarqué que si 2 ou plusieurs cellules avaient la même mise
en forme (fond par exemple), l'entrée dans l'une protégeait ses soeurs (si
j'ose m'exprimer ainsi). Je suppose que le fautif est UsedRange.
Un crochet par l'aide de VBA ne me renseigne pas beaucoup sur l'étendue de
UsedRange :
"Cette propriété renvoie un objet Range qui représente la plage utilisée
dans la feuille de calcul spécifiée."
Qu'entend-on par plage utilisée ?
Il semblerait que cette plage soit aléatoire...
Pour le tester, j'ai appliqué une couleur de fond à A1:A12, B2, B4, B6, B8,
C3, C5, C7, D4, D6 et E5.
J'ai déverrouillé toutes les cellules de la feuille, et j'ai protégé cette
feuille en ne cochant que "sélectionner les cellules déverrouillées.
Dans les opions, Modifications, j'ai coché "déplacer la sélection après
validation vers le bas.
Lors de l'entrée d'une valeur en A1, la cellule active devient
successivement :
F2, G3, H4.......jusqu'à O9, puis O10 jusqu'à O62, puis P1, Q2, R3, etc...
Lorsque je suis en A1, près avoir rempli de 1 les cellules précitées, et que
je fais Edition, Atteindre, Cellules, Zone en cours, seul A1 est
sélectionné.
UsedRange a-t-il une portée différente de son homologue français ? (ou
est-ce un faux ami ?) J'en perds mon latin.
Un début d'explication, qui me permettrait de me coucher moins idiot ce
soir, serait vraiment le bienvenu.
Merci en tous cas,
Bien cordialement,
Patrick.Bonsoir,
Un début de solution à tester :
- assure toi d'abord que l'ensemble des cellules de la feuille qui
contient le tableau de saisie est *déverrouillé*
- recopie cette procédure dans le module de code de cette même
feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
With Me
.Unprotect
.UsedRange.Cells.Locked = True
.Protect
End With
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir à tous.
J'ai besoin d'un conseil, alors bien logiquement, je m'adresse aux
aimables contributeurs (je n'ai pas dit contribuables ;-) )
bénévoles de ce forum. Le projet :
crér un tableau permettant la saisie d'anomalies, et les différentes
actions mises en place pour les suivre.
(une ligne par anomalie).
L'utilisation :
Ce tableau sera utilisé par plusieurs personnes pouvant soit
détecter une ou des anomalies, soit corriger une ou des
anomalies.Ces utilisateurs savent, sur Excel, remplir une cellule
mais pas beaucoup plus, et en tous cas ne connaissent même pas le
terme VBA. L'objectif :
L'homme n'étant que ce qu'il est, il peut être parfois tenté de
supprimer une anomalie dont la responsabilité ou le traitement lui
incombe. Je souhaite donc qu'une fois une anomalie saisie, il soit
impossible
de modifier la cellule concernée.
(procédure événementielle après validation? avec un peu de temps, de
sueur et de larmes, je devrais y arriver seul).
Idem pour une cellule contenant une action de correction.
Le hic, et là je fais appel à toutes les bonnes volontés :
il arrive fréquemment que les anomalies concernent des groupes de
références, récupérées sur une appli interne, et copiées - collées
sur plusieurs lignes.
D'où ma question :
Dans ce cas, comment capter la zone pour la protéger contre les
modifications?
Merci déjà d'avoir eu la patience de me lire,
Et d'avance merci pour vos idées, vos pistes de solution. Elles
seront les bienvenues.
Cordialement
Patrick.
Bonjour, *Frédéric*
J'ai lu ton post uhTiJA$1EHA.1392@tk2msftngp13.phx.gbl
avec le plus grand intéret, et je te remercie de t'être penché sur mon
problème.
Le code que tu m'as conseillé fonctionne parfaitement lorsque les entrées se
font sur une même colonne, et qu'il n'y a pas de mise en forme.
J'ai cependant remarqué que si 2 ou plusieurs cellules avaient la même mise
en forme (fond par exemple), l'entrée dans l'une protégeait ses soeurs (si
j'ose m'exprimer ainsi). Je suppose que le fautif est UsedRange.
Un crochet par l'aide de VBA ne me renseigne pas beaucoup sur l'étendue de
UsedRange :
"Cette propriété renvoie un objet Range qui représente la plage utilisée
dans la feuille de calcul spécifiée."
Qu'entend-on par plage utilisée ?
Il semblerait que cette plage soit aléatoire...
Pour le tester, j'ai appliqué une couleur de fond à A1:A12, B2, B4, B6, B8,
C3, C5, C7, D4, D6 et E5.
J'ai déverrouillé toutes les cellules de la feuille, et j'ai protégé cette
feuille en ne cochant que "sélectionner les cellules déverrouillées.
Dans les opions, Modifications, j'ai coché "déplacer la sélection après
validation vers le bas.
Lors de l'entrée d'une valeur en A1, la cellule active devient
successivement :
F2, G3, H4.......jusqu'à O9, puis O10 jusqu'à O62, puis P1, Q2, R3, etc...
Lorsque je suis en A1, près avoir rempli de 1 les cellules précitées, et que
je fais Edition, Atteindre, Cellules, Zone en cours, seul A1 est
sélectionné.
UsedRange a-t-il une portée différente de son homologue français ? (ou
est-ce un faux ami ?) J'en perds mon latin.
Un début d'explication, qui me permettrait de me coucher moins idiot ce
soir, serait vraiment le bienvenu.
Merci en tous cas,
Bien cordialement,
Patrick.
Bonsoir,
Un début de solution à tester :
- assure toi d'abord que l'ensemble des cellules de la feuille qui
contient le tableau de saisie est *déverrouillé*
- recopie cette procédure dans le module de code de cette même
feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
With Me
.Unprotect
.UsedRange.Cells.Locked = True
.Protect
End With
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir à tous.
J'ai besoin d'un conseil, alors bien logiquement, je m'adresse aux
aimables contributeurs (je n'ai pas dit contribuables ;-) )
bénévoles de ce forum. Le projet :
crér un tableau permettant la saisie d'anomalies, et les différentes
actions mises en place pour les suivre.
(une ligne par anomalie).
L'utilisation :
Ce tableau sera utilisé par plusieurs personnes pouvant soit
détecter une ou des anomalies, soit corriger une ou des
anomalies.Ces utilisateurs savent, sur Excel, remplir une cellule
mais pas beaucoup plus, et en tous cas ne connaissent même pas le
terme VBA. L'objectif :
L'homme n'étant que ce qu'il est, il peut être parfois tenté de
supprimer une anomalie dont la responsabilité ou le traitement lui
incombe. Je souhaite donc qu'une fois une anomalie saisie, il soit
impossible
de modifier la cellule concernée.
(procédure événementielle après validation? avec un peu de temps, de
sueur et de larmes, je devrais y arriver seul).
Idem pour une cellule contenant une action de correction.
Le hic, et là je fais appel à toutes les bonnes volontés :
il arrive fréquemment que les anomalies concernent des groupes de
références, récupérées sur une appli interne, et copiées - collées
sur plusieurs lignes.
D'où ma question :
Dans ce cas, comment capter la zone pour la protéger contre les
modifications?
Merci déjà d'avoir eu la patience de me lire,
Et d'avance merci pour vos idées, vos pistes de solution. Elles
seront les bienvenues.
Cordialement
Patrick.
Bonjour, *Frédéric*
J'ai lu ton post uhTiJA$
avec le plus grand intéret, et je te remercie de t'être penché sur mon
problème.
Le code que tu m'as conseillé fonctionne parfaitement lorsque les entrées se
font sur une même colonne, et qu'il n'y a pas de mise en forme.
J'ai cependant remarqué que si 2 ou plusieurs cellules avaient la même mise
en forme (fond par exemple), l'entrée dans l'une protégeait ses soeurs (si
j'ose m'exprimer ainsi). Je suppose que le fautif est UsedRange.
Un crochet par l'aide de VBA ne me renseigne pas beaucoup sur l'étendue de
UsedRange :
"Cette propriété renvoie un objet Range qui représente la plage utilisée
dans la feuille de calcul spécifiée."
Qu'entend-on par plage utilisée ?
Il semblerait que cette plage soit aléatoire...
Pour le tester, j'ai appliqué une couleur de fond à A1:A12, B2, B4, B6, B8,
C3, C5, C7, D4, D6 et E5.
J'ai déverrouillé toutes les cellules de la feuille, et j'ai protégé cette
feuille en ne cochant que "sélectionner les cellules déverrouillées.
Dans les opions, Modifications, j'ai coché "déplacer la sélection après
validation vers le bas.
Lors de l'entrée d'une valeur en A1, la cellule active devient
successivement :
F2, G3, H4.......jusqu'à O9, puis O10 jusqu'à O62, puis P1, Q2, R3, etc...
Lorsque je suis en A1, près avoir rempli de 1 les cellules précitées, et que
je fais Edition, Atteindre, Cellules, Zone en cours, seul A1 est
sélectionné.
UsedRange a-t-il une portée différente de son homologue français ? (ou
est-ce un faux ami ?) J'en perds mon latin.
Un début d'explication, qui me permettrait de me coucher moins idiot ce
soir, serait vraiment le bienvenu.
Merci en tous cas,
Bien cordialement,
Patrick.Bonsoir,
Un début de solution à tester :
- assure toi d'abord que l'ensemble des cellules de la feuille qui
contient le tableau de saisie est *déverrouillé*
- recopie cette procédure dans le module de code de cette même
feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
With Me
.Unprotect
.UsedRange.Cells.Locked = True
.Protect
End With
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir à tous.
J'ai besoin d'un conseil, alors bien logiquement, je m'adresse aux
aimables contributeurs (je n'ai pas dit contribuables ;-) )
bénévoles de ce forum. Le projet :
crér un tableau permettant la saisie d'anomalies, et les différentes
actions mises en place pour les suivre.
(une ligne par anomalie).
L'utilisation :
Ce tableau sera utilisé par plusieurs personnes pouvant soit
détecter une ou des anomalies, soit corriger une ou des
anomalies.Ces utilisateurs savent, sur Excel, remplir une cellule
mais pas beaucoup plus, et en tous cas ne connaissent même pas le
terme VBA. L'objectif :
L'homme n'étant que ce qu'il est, il peut être parfois tenté de
supprimer une anomalie dont la responsabilité ou le traitement lui
incombe. Je souhaite donc qu'une fois une anomalie saisie, il soit
impossible
de modifier la cellule concernée.
(procédure événementielle après validation? avec un peu de temps, de
sueur et de larmes, je devrais y arriver seul).
Idem pour une cellule contenant une action de correction.
Le hic, et là je fais appel à toutes les bonnes volontés :
il arrive fréquemment que les anomalies concernent des groupes de
références, récupérées sur une appli interne, et copiées - collées
sur plusieurs lignes.
D'où ma question :
Dans ce cas, comment capter la zone pour la protéger contre les
modifications?
Merci déjà d'avoir eu la patience de me lire,
Et d'avance merci pour vos idées, vos pistes de solution. Elles
seront les bienvenues.
Cordialement
Patrick.
A mon avis, le nombre de colonne a peu d'importance : UsedRange
comprend toutes les cellules utilisées de la feuille de calcul,
toutes lignes et toutes colonnes comprises.
Le problème de UsedRange c'est qu'Excel considère comme utilisée
toute cellule dans laquelle tu as fait à un moment quelque chose (y
compris des mises en forme) et qu'il ne suffit pas d'annuler ce
quelque chose pour que la plage considérée comme utilisée soit
réajustée automatiquement.
Si je t'ai proposé cette approche, c'est que j'ai supposé que tes
tableaux étaient remplis comme des bases de données : ligne par
ligne, les unes sous les autres, chaque ligne allant de la colonne A
à la colonne X par exemple, même si toutes les cases de chaque ligne
ne sont pas forcément renseignées.
Dans ce style de tableau, ce que je t'ai proposé pourrait, je pense,
être une solution.
A mon avis, le nombre de colonne a peu d'importance : UsedRange
comprend toutes les cellules utilisées de la feuille de calcul,
toutes lignes et toutes colonnes comprises.
Le problème de UsedRange c'est qu'Excel considère comme utilisée
toute cellule dans laquelle tu as fait à un moment quelque chose (y
compris des mises en forme) et qu'il ne suffit pas d'annuler ce
quelque chose pour que la plage considérée comme utilisée soit
réajustée automatiquement.
Si je t'ai proposé cette approche, c'est que j'ai supposé que tes
tableaux étaient remplis comme des bases de données : ligne par
ligne, les unes sous les autres, chaque ligne allant de la colonne A
à la colonne X par exemple, même si toutes les cases de chaque ligne
ne sont pas forcément renseignées.
Dans ce style de tableau, ce que je t'ai proposé pourrait, je pense,
être une solution.
A mon avis, le nombre de colonne a peu d'importance : UsedRange
comprend toutes les cellules utilisées de la feuille de calcul,
toutes lignes et toutes colonnes comprises.
Le problème de UsedRange c'est qu'Excel considère comme utilisée
toute cellule dans laquelle tu as fait à un moment quelque chose (y
compris des mises en forme) et qu'il ne suffit pas d'annuler ce
quelque chose pour que la plage considérée comme utilisée soit
réajustée automatiquement.
Si je t'ai proposé cette approche, c'est que j'ai supposé que tes
tableaux étaient remplis comme des bases de données : ligne par
ligne, les unes sous les autres, chaque ligne allant de la colonne A
à la colonne X par exemple, même si toutes les cases de chaque ligne
ne sont pas forcément renseignées.
Dans ce style de tableau, ce que je t'ai proposé pourrait, je pense,
être une solution.