Utilisation de la valeur d'une cellule pour définir une plage à copier
4 réponses
Juliette.Frehel
Bonjour
Je ne suis pas une sp=E9cialiste de macros, et c'est que j'ai faite bug
en permanence sur Columns(col, col).
Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction
=E0 apporter.
Pour info, la macro est cens=E9e chercher une valeur dans un tableau
(A,B,C...), cette valeur servant =E0 d=E9finir une colonne =E0 copier dans
un autre fichier.
For n =3D 2 To 72
col =3D Sheets("Feuil1").Cells(n, 5).Value
Worksheets("GW").Select
Columns(col, col).Select
Selection.copy
J'ai essay=E9 de remplacer Columns par un Range mais =E7a plante aussi.
Comment faire pour r=E9cup=E9rer la valeur d'une cellule et l'utiliser
pour d=E9finir une plage =E0 copier?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Yvan
Bonjour Juliette
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col).Select Selection.copy next n
devrait fonctionner, et plus simplement:
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Columns(col).copy next n
(un seul col dans columns(col)). col doit être un entier bien sûr.
@+
Yvan
a écrit dans le message de news:
Bonjour
Je ne suis pas une spécialiste de macros, et c'est que j'ai faite bug en permanence sur Columns(col, col). Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction à apporter.
Pour info, la macro est censée chercher une valeur dans un tableau (A,B,C...), cette valeur servant à définir une colonne à copier dans un autre fichier.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
J'ai essayé de remplacer Columns par un Range mais ça plante aussi. Comment faire pour récupérer la valeur d'une cellule et l'utiliser pour définir une plage à copier?
merci
Bonjour Juliette
For n = 2 To 72
col = Sheets("Feuil1").Cells(n, 5).Value
Worksheets("GW").Select
Columns(col).Select
Selection.copy
next n
devrait fonctionner, et plus simplement:
For n = 2 To 72
col = Sheets("Feuil1").Cells(n, 5).Value
Worksheets("GW").Columns(col).copy
next n
(un seul col dans columns(col)). col doit être un entier bien sûr.
@+
Yvan
<Juliette.Frehel@socgen.com> a écrit dans le message de news:
1126773728.452000.237850@g44g2000cwa.googlegroups.com...
Bonjour
Je ne suis pas une spécialiste de macros, et c'est que j'ai faite bug
en permanence sur Columns(col, col).
Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction
à apporter.
Pour info, la macro est censée chercher une valeur dans un tableau
(A,B,C...), cette valeur servant à définir une colonne à copier dans
un autre fichier.
For n = 2 To 72
col = Sheets("Feuil1").Cells(n, 5).Value
Worksheets("GW").Select
Columns(col, col).Select
Selection.copy
J'ai essayé de remplacer Columns par un Range mais ça plante aussi.
Comment faire pour récupérer la valeur d'une cellule et l'utiliser
pour définir une plage à copier?
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col).Select Selection.copy next n
devrait fonctionner, et plus simplement:
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Columns(col).copy next n
(un seul col dans columns(col)). col doit être un entier bien sûr.
@+
Yvan
a écrit dans le message de news:
Bonjour
Je ne suis pas une spécialiste de macros, et c'est que j'ai faite bug en permanence sur Columns(col, col). Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction à apporter.
Pour info, la macro est censée chercher une valeur dans un tableau (A,B,C...), cette valeur servant à définir une colonne à copier dans un autre fichier.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
J'ai essayé de remplacer Columns par un Range mais ça plante aussi. Comment faire pour récupérer la valeur d'une cellule et l'utiliser pour définir une plage à copier?
merci
anonymousA
bonjour,
For n = 2 To 72 Worksheets("GW").Cells(1, Sheets("Feuil1").Cells(n, 5).Value).EntireColumn.copy next
A+
bonjour,
For n = 2 To 72
Worksheets("GW").Cells(1, Sheets("Feuil1").Cells(n,
5).Value).EntireColumn.copy
next
For n = 2 To 72 Worksheets("GW").Cells(1, Sheets("Feuil1").Cells(n, 5).Value).EntireColumn.copy next
A+
michdenis
Bonjour Juliette,
Il manque quelques précisions pour pouvoir te proposer une solution plus complète à ta problématique.
A ) Dans ta boucle, comme ta variable "Col" représente un peu plus loin la colonne que tu veux sélectionner, tu dois t'assurer que Col représente une valeur entre 1 et 256. Si ta cellule Cells(n, 5) est vide, la procédure va planter car columns(col) si col est vide ou égale à zéro est impossible à résoudre pour excel.
B ) Columns(Col).Select -> suffisant pour sélectionner la totalité de la colonne.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
Salutations!
a écrit dans le message de news: Bonjour
Je ne suis pas une spécialiste de macros, et c'est que j'ai faite bug en permanence sur Columns(col, col). Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction à apporter.
Pour info, la macro est censée chercher une valeur dans un tableau (A,B,C...), cette valeur servant à définir une colonne à copier dans un autre fichier.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
J'ai essayé de remplacer Columns par un Range mais ça plante aussi. Comment faire pour récupérer la valeur d'une cellule et l'utiliser pour définir une plage à copier?
merci
Bonjour Juliette,
Il manque quelques précisions pour pouvoir te proposer une solution plus complète à ta problématique.
A )
Dans ta boucle, comme ta variable "Col" représente un peu plus loin la colonne que tu veux sélectionner, tu dois t'assurer que Col
représente une valeur entre 1 et 256. Si ta cellule Cells(n, 5) est vide, la procédure va planter car columns(col) si col est vide
ou égale à zéro est impossible à résoudre pour excel.
B ) Columns(Col).Select -> suffisant pour sélectionner la totalité de la colonne.
For n = 2 To 72
col = Sheets("Feuil1").Cells(n, 5).Value
Worksheets("GW").Select
Columns(col, col).Select
Selection.copy
Salutations!
<Juliette.Frehel@socgen.com> a écrit dans le message de news: 1126773728.452000.237850@g44g2000cwa.googlegroups.com...
Bonjour
Je ne suis pas une spécialiste de macros, et c'est que j'ai faite bug
en permanence sur Columns(col, col).
Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction
à apporter.
Pour info, la macro est censée chercher une valeur dans un tableau
(A,B,C...), cette valeur servant à définir une colonne à copier dans
un autre fichier.
For n = 2 To 72
col = Sheets("Feuil1").Cells(n, 5).Value
Worksheets("GW").Select
Columns(col, col).Select
Selection.copy
J'ai essayé de remplacer Columns par un Range mais ça plante aussi.
Comment faire pour récupérer la valeur d'une cellule et l'utiliser
pour définir une plage à copier?
Il manque quelques précisions pour pouvoir te proposer une solution plus complète à ta problématique.
A ) Dans ta boucle, comme ta variable "Col" représente un peu plus loin la colonne que tu veux sélectionner, tu dois t'assurer que Col représente une valeur entre 1 et 256. Si ta cellule Cells(n, 5) est vide, la procédure va planter car columns(col) si col est vide ou égale à zéro est impossible à résoudre pour excel.
B ) Columns(Col).Select -> suffisant pour sélectionner la totalité de la colonne.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
Salutations!
a écrit dans le message de news: Bonjour
Je ne suis pas une spécialiste de macros, et c'est que j'ai faite bug en permanence sur Columns(col, col). Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction à apporter.
Pour info, la macro est censée chercher une valeur dans un tableau (A,B,C...), cette valeur servant à définir une colonne à copier dans un autre fichier.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
J'ai essayé de remplacer Columns par un Range mais ça plante aussi. Comment faire pour récupérer la valeur d'une cellule et l'utiliser pour définir une plage à copier?
merci
JF
avec un peu de retard, merci à tous
michdenis wrote:
Bonjour Juliette,
Il manque quelques précisions pour pouvoir te proposer une solution plu s complète à ta problématique.
A ) Dans ta boucle, comme ta variable "Col" représente un peu plus loin la colonne que tu veux sélectionner, tu dois t'assurer que Col représente une valeur entre 1 et 256. Si ta cellule Cells(n, 5) est vi de, la procédure va planter car columns(col) si col est vide ou égale à zéro est impossible à résoudre pour excel.
B ) Columns(Col).Select -> suffisant pour sélectionner la totalité de la colonne.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
Salutations!
a écrit dans le message de news: 112677372 Bonjour
Je ne suis pas une spécialiste de macros, et c'est que j'ai faite bug en permanence sur Columns(col, col). Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction à apporter.
Pour info, la macro est censée chercher une valeur dans un tableau (A,B,C...), cette valeur servant à définir une colonne à copier dans un autre fichier.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
J'ai essayé de remplacer Columns par un Range mais ça plante aussi. Comment faire pour récupérer la valeur d'une cellule et l'utiliser pour définir une plage à copier?
merci
avec un peu de retard, merci à tous
michdenis wrote:
Bonjour Juliette,
Il manque quelques précisions pour pouvoir te proposer une solution plu s complète à ta problématique.
A )
Dans ta boucle, comme ta variable "Col" représente un peu plus loin la colonne que tu veux sélectionner, tu dois t'assurer que Col
représente une valeur entre 1 et 256. Si ta cellule Cells(n, 5) est vi de, la procédure va planter car columns(col) si col est vide
ou égale à zéro est impossible à résoudre pour excel.
B ) Columns(Col).Select -> suffisant pour sélectionner la totalité de la colonne.
For n = 2 To 72
col = Sheets("Feuil1").Cells(n, 5).Value
Worksheets("GW").Select
Columns(col, col).Select
Selection.copy
Salutations!
<Juliette.Frehel@socgen.com> a écrit dans le message de news: 112677372 8.452000.237850@g44g2000cwa.googlegroups.com...
Bonjour
Je ne suis pas une spécialiste de macros, et c'est que j'ai faite bug
en permanence sur Columns(col, col).
Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction
à apporter.
Pour info, la macro est censée chercher une valeur dans un tableau
(A,B,C...), cette valeur servant à définir une colonne à copier dans
un autre fichier.
For n = 2 To 72
col = Sheets("Feuil1").Cells(n, 5).Value
Worksheets("GW").Select
Columns(col, col).Select
Selection.copy
J'ai essayé de remplacer Columns par un Range mais ça plante aussi.
Comment faire pour récupérer la valeur d'une cellule et l'utiliser
pour définir une plage à copier?
Il manque quelques précisions pour pouvoir te proposer une solution plu s complète à ta problématique.
A ) Dans ta boucle, comme ta variable "Col" représente un peu plus loin la colonne que tu veux sélectionner, tu dois t'assurer que Col représente une valeur entre 1 et 256. Si ta cellule Cells(n, 5) est vi de, la procédure va planter car columns(col) si col est vide ou égale à zéro est impossible à résoudre pour excel.
B ) Columns(Col).Select -> suffisant pour sélectionner la totalité de la colonne.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
Salutations!
a écrit dans le message de news: 112677372 Bonjour
Je ne suis pas une spécialiste de macros, et c'est que j'ai faite bug en permanence sur Columns(col, col). Est-ce que quelqu'un peut me dire pourquoi et quelle est la correction à apporter.
Pour info, la macro est censée chercher une valeur dans un tableau (A,B,C...), cette valeur servant à définir une colonne à copier dans un autre fichier.
For n = 2 To 72 col = Sheets("Feuil1").Cells(n, 5).Value Worksheets("GW").Select Columns(col, col).Select Selection.copy
J'ai essayé de remplacer Columns par un Range mais ça plante aussi. Comment faire pour récupérer la valeur d'une cellule et l'utiliser pour définir une plage à copier?