Comment adapter une macro qui ne fonctionne qu'avec du texte

Le
daniel78
Bonjour,
J'essaye d'adapter une macro de "JBOISGON", qui fonctionne trs bien.
Les donnes sont rparties suivant le nom indiqu en colonne A
dans des onglets qui portent les dits noms.
Colonne A du 1er feuillet martin - dupont - durand
et donc 3 onglets portant ces noms.

Mais si ces donnes sont des chiffres, cela ne fonctionne pas.
Le message qui m'est retourn pour plusieurs colonnes est :
Erreur 9 = "L'indice n'appartient pas la slection"
Comment utiliser cette macro avec des chiffres comme donnes.


Macro Originale (2colonnes rparties sur 3 onglets)
For Each c In Range([A2], [a65000].End(xlUp))
nf = c
Sheets(nf).[a65000].End(xlUp).Offset(1, 0) = c.Offset(0, 1).Value
Sheets(nf).[a65000].End(xlUp).Offset(0, 1) = c.Offset(0, 2).Value
Next c
End Sub


Merci pour vos rponses et bonne journe.
daniel
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
lSteph
Le #3687511
Bonjour,
A priori si on ne voit pas le but, ni ce comment tu as préalablement défini
et surtout la variable nf (? as string...as worksheet ? ou variant)
mais on devine ce qui coince,
Si nf=c en début de boucle tu dois vouloir y stocker le nom de la feuille or
si c'est un numéro,
selon plusieurs hypothèses vraisemblables
soit il ne correpond pas à un nom de feuille,
soit il ne correpond pas à un numéro de feuille,
soit il demeure ambigu!
Donc arrivé à Sheets(nf).[......cela coince

LSteph
(Rien à voir avec la question détail très rarement important 65536 et non
65000)


"daniel78"
Bonjour,
J'essaye d'adapter une macro de "JBOISGON", qui fonctionne très bien.
Les données sont réparties suivant le nom indiqué en colonne A
dans des onglets qui portent les dits noms.
Colonne A du 1er feuillet martin - dupont - durand
et donc 3 onglets portant ces noms.

Mais si ces données sont des chiffres, cela ne fonctionne pas.
Le message qui m'est retourné pour plusieurs colonnes est :
Erreur 9 = "L'indice n'appartient pas à la sélection"
Comment utiliser cette macro avec des chiffres comme données.


Macro Originale (2colonnes réparties sur 3 onglets)
For Each c In Range([A2], [a65000].End(xlUp))
nf = c
Sheets(nf).[a65000].End(xlUp).Offset(1, 0) = c.Offset(0, 1).Value
Sheets(nf).[a65000].End(xlUp).Offset(0, 1) = c.Offset(0, 2).Value
Next c
End Sub


Merci pour vos réponses et bonne journée.
daniel
daniel
Le #3735641
bonsoir,
Comme je l'ai dis, c'est une macro originale qui fonctionne très bien, et
qui est recopée dans sa totalité.
J'essaye d'adapter une macro de "JBOISGON", qui fonctionne très bien.
Les données sont réparties suivant le nom indiqué en colonne A
dans des onglets qui portent les dits noms.
Colonne A du 1er feuillet martin - dupont - durand
et donc 3 onglets portant ces noms.


Si les données en colonne A sont 1000 - 2000 - 3000, et les onglets avec
les mêmes noms, là, ça ne fonctionne pas.


En fin de compte, le problème vient du fait que ce sont des chiffres qui se
trouve en colonne A, et excel ne semble pas reconnaître les noms des
onglets, pourtant identique.
Erreur 9 = "L'indice n'appartient pas à la sélection"

Si nf=c en début de boucle tu dois vouloir y stocker le nom de la feuille
or si c'est un numéro,
selon plusieurs hypothèses vraisemblables
soit il ne correpond pas à un nom de feuille, Si Si soit
il ne correpond pas à un numéro de feuille, Non
soit il demeure ambigu! pourquoi ambigu ???? je ne sais pas
comment ça peut arriver (novice).
Donc arrivé à Sheets(nf).[......cela coince
Oui, c'est là !!


Je pense qu'il faudrait convertir les chiffres en texte, en VBA ou quelque
chose comme ça, que je ne sais pas faire.
Peut-être en définissant le nf en variant ?? Je testerai ça, mais je reste à
l'écoute de toute proposition, voir même d'une macro complètement modifiée.
bonne soirée et a +

lSteph
Le #3735551
Bonsoir Daniel,
S'agissant d'une macro de "JBoigon" je ne mets nullement en doute que
l'original fonctionne parfaitement "dans son contexte",
aussi si je puis me permettre il n'est pas forcément, selon l'adaptation
faite, dû au hasard que la macro s'arrête précisément à l'endroit où je t'ai
indiqué.
Quand on définit des variables il est aussi parfois , selon le cas
nécessaire ou fastidieux de les typer, j'en conviens.
Quoiqu'il en soit la Feuille numéro "n" ne représente pas nécessairement la
même que la feuille nommée "n".
En attendant le cas échéant retour de JB pour te fournir himself une
explication plus précise et détaillée je m'en vais croquer
un morceau avec ma petite famille.

A défaut je reviens tout à l'heure sauf si d'autres ("allez les autres
remuez vous un peu pour aider Daniel").

Amicalement.

lSteph



"daniel"
bonsoir,
Comme je l'ai dis, c'est une macro originale qui fonctionne très bien, et
qui est recopée dans sa totalité.
J'essaye d'adapter une macro de "JBOISGON", qui fonctionne très bien.
Les données sont réparties suivant le nom indiqué en colonne A
dans des onglets qui portent les dits noms.
Colonne A du 1er feuillet martin - dupont - durand
et donc 3 onglets portant ces noms.


Si les données en colonne A sont 1000 - 2000 - 3000, et les onglets avec
les mêmes noms, là, ça ne fonctionne pas.


En fin de compte, le problème vient du fait que ce sont des chiffres qui
se trouve en colonne A, et excel ne semble pas reconnaître les noms des
onglets, pourtant identique.
Erreur 9 = "L'indice n'appartient pas à la sélection"

Si nf=c en début de boucle tu dois vouloir y stocker le nom de la feuille
or si c'est un numéro,
selon plusieurs hypothèses vraisemblables
soit il ne correpond pas à un nom de feuille, Si Si soit
il ne correpond pas à un numéro de feuille, Non
soit il demeure ambigu! pourquoi ambigu ???? je ne sais pas
comment ça peut arriver (novice).
Donc arrivé à Sheets(nf).[......cela coince
Oui, c'est là !!


Je pense qu'il faudrait convertir les chiffres en texte, en VBA ou quelque
chose comme ça, que je ne sais pas faire.
Peut-être en définissant le nf en variant ?? Je testerai ça, mais je reste
à l'écoute de toute proposition, voir même d'une macro complètement
modifiée.
bonne soirée et a +




daniel
Le #3733811
Bonsoir lSteph,
Comme suite et fin à ma demande, il suffit d'indiquer nf = CStr()c au
lieu de nf = c, et là ça marche.
bonne soirée et merci pour tes interventions.
Daniel



"lSteph"
Bonsoir Daniel,
S'agissant d'une macro de "JBoigon" je ne mets nullement en doute que
l'original fonctionne parfaitement "dans son contexte",
aussi si je puis me permettre il n'est pas forcément, selon l'adaptation
faite, dû au hasard que la macro s'arrête précisément à l'endroit où je
t'ai indiqué.
Quand on définit des variables il est aussi parfois , selon le cas
nécessaire ou fastidieux de les typer, j'en conviens.
Quoiqu'il en soit la Feuille numéro "n" ne représente pas nécessairement
la même que la feuille nommée "n".
En attendant le cas échéant retour de JB pour te fournir himself une
explication plus précise et détaillée je m'en vais croquer
un morceau avec ma petite famille.

A défaut je reviens tout à l'heure sauf si d'autres ("allez les autres
remuez vous un peu pour aider Daniel").

Amicalement.

lSteph



"daniel"
bonsoir,
Comme je l'ai dis, c'est une macro originale qui fonctionne très bien, et
qui est recopée dans sa totalité.
J'essaye d'adapter une macro de "JBOISGON", qui fonctionne très bien.
Les données sont réparties suivant le nom indiqué en colonne A
dans des onglets qui portent les dits noms.
Colonne A du 1er feuillet martin - dupont - durand
et donc 3 onglets portant ces noms.


Si les données en colonne A sont 1000 - 2000 - 3000, et les onglets avec
les mêmes noms, là, ça ne fonctionne pas.


En fin de compte, le problème vient du fait que ce sont des chiffres qui
se trouve en colonne A, et excel ne semble pas reconnaître les noms des
onglets, pourtant identique.
Erreur 9 = "L'indice n'appartient pas à la sélection"

Si nf=c en début de boucle tu dois vouloir y stocker le nom de la
feuille or si c'est un numéro,
selon plusieurs hypothèses vraisemblables
soit il ne correpond pas à un nom de feuille, Si Si soit
il ne correpond pas à un numéro de feuille, Non
soit il demeure ambigu! pourquoi ambigu ???? je ne sais pas
comment ça peut arriver (novice).
Donc arrivé à Sheets(nf).[......cela coince
Oui, c'est là !!


Je pense qu'il faudrait convertir les chiffres en texte, en VBA ou
quelque chose comme ça, que je ne sais pas faire.
Peut-être en définissant le nf en variant ?? Je testerai ça, mais je
reste à l'écoute de toute proposition, voir même d'une macro complètement
modifiée.
bonne soirée et a +








lSteph
Le #3733611
Bosoir,
Et bien tu vois ce n'était pas le fait du hasard mais bien de considérer un
nom ou un numéro de feuille
Cela dit , c'est bien d'avoir trouvé un contournement.

Ce fut un plaisir.

lSteph


"daniel"
Bonsoir lSteph,
Comme suite et fin à ma demande, il suffit d'indiquer nf = CStr()c au
lieu de nf = c, et là ça marche.
bonne soirée et merci pour tes interventions.
Daniel



"lSteph"
Bonsoir Daniel,
S'agissant d'une macro de "JBoigon" je ne mets nullement en doute que
l'original fonctionne parfaitement "dans son contexte",
aussi si je puis me permettre il n'est pas forcément, selon l'adaptation
faite, dû au hasard que la macro s'arrête précisément à l'endroit où je
t'ai indiqué.
Quand on définit des variables il est aussi parfois , selon le cas
nécessaire ou fastidieux de les typer, j'en conviens.
Quoiqu'il en soit la Feuille numéro "n" ne représente pas nécessairement
la même que la feuille nommée "n".
En attendant le cas échéant retour de JB pour te fournir himself une
explication plus précise et détaillée je m'en vais croquer
un morceau avec ma petite famille.

A défaut je reviens tout à l'heure sauf si d'autres ("allez les autres
remuez vous un peu pour aider Daniel").

Amicalement.

lSteph



"daniel"
bonsoir,
Comme je l'ai dis, c'est une macro originale qui fonctionne très bien,
et qui est recopée dans sa totalité.
J'essaye d'adapter une macro de "JBOISGON", qui fonctionne très bien.
Les données sont réparties suivant le nom indiqué en colonne A
dans des onglets qui portent les dits noms.
Colonne A du 1er feuillet martin - dupont - durand
et donc 3 onglets portant ces noms.


Si les données en colonne A sont 1000 - 2000 - 3000, et les onglets
avec les mêmes noms, là, ça ne fonctionne pas.


En fin de compte, le problème vient du fait que ce sont des chiffres qui
se trouve en colonne A, et excel ne semble pas reconnaître les noms des
onglets, pourtant identique.
Erreur 9 = "L'indice n'appartient pas à la sélection"

Si nf=c en début de boucle tu dois vouloir y stocker le nom de la
feuille or si c'est un numéro,
selon plusieurs hypothèses vraisemblables
soit il ne correpond pas à un nom de feuille, Si Si
soit il ne correpond pas à un numéro de feuille, Non
soit il demeure ambigu! pourquoi ambigu ???? je ne sais pas
comment ça peut arriver (novice).
Donc arrivé à Sheets(nf).[......cela coince
Oui, c'est là !!


Je pense qu'il faudrait convertir les chiffres en texte, en VBA ou
quelque chose comme ça, que je ne sais pas faire.
Peut-être en définissant le nf en variant ?? Je testerai ça, mais je
reste à l'écoute de toute proposition, voir même d'une macro
complètement modifiée.
bonne soirée et a +












Publicité
Poster une réponse
Anonyme