Voici ce que je désire faire
Sur une feuille f1 copier A1:A15,coller transposé sur feuille f2 en A2
Sur f1 copier A16:A31 coller transposé sur f2 en A3
...
Sur f1 copier A65520:A65535 coller transposé sur f2 en A4370
Voici mon problème
Réaliser tout ceci par macro VBA, et plus particulièrement comment désigné
un range de cellules avec des variables (car j'aimerai faire une boucle for)
Voici ce que j'ai fait, mais qui ne marche pas...
""
Dim i As Integer
Dim h As Integer
Dim j As Integer
Cells.NumberFormat = "@"
i = 1
j = 2
For i = 0 To 65520
Sheets("f1").Select
Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select
Selection.Copy
Sheets("f2").Select
Range(ActiveCell(j, "A"), ActiveCell(j, "O")).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=True
i = i + 15
j = j + 1
Next
""
Merci de m'éclairer parce que là je suis perdu
@+Max
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
David
Bonjour,
J'ai regardé ton code et cela ne m'etonne pas que ca ne marche pas. voici ce que tu peux faire pour arranger ton code :
For i = 0 To 65520 tu remplaces par
For i = 1 To 65520 car les cellules commencent a partir de 1 (tu peux d'ailleurs anlever la 1ere ligne i = 1 qui ne sers a rien)
Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select Remplaces par :
Activesheet.Range(Cells(i, 1), Cells(i + 14, 1)).Select En effet, je ne crois pas que tu veuilles utiliser ActiveCell qui recupere les cellules actives car tu ne les selectionnes pas avant. Donc le meixu est d'utiliser l'objet Cells permettant de selectionner des cellules a une place bien spécifique.
Voici ce que je désire faire Sur une feuille f1 copier A1:A15,coller transposé sur feuille f2 en A2 Sur f1 copier A16:A31 coller transposé sur f2 en A3 ... Sur f1 copier A65520:A65535 coller transposé sur f2 en A4370
Voici mon problème Réaliser tout ceci par macro VBA, et plus particulièrement comment désigné un range de cellules avec des variables (car j'aimerai faire une boucle for)
Voici ce que j'ai fait, mais qui ne marche pas... "" Dim i As Integer Dim h As Integer Dim j As Integer
Cells.NumberFormat = "@"
i = 1 j = 2 For i = 0 To 65520 Sheets("f1").Select Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select Selection.Copy Sheets("f2").Select Range(ActiveCell(j, "A"), ActiveCell(j, "O")).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True i = i + 15 j = j + 1
Next ""
Merci de m'éclairer parce que là je suis perdu @+Max
Bonjour,
J'ai regardé ton code et cela ne m'etonne pas que ca ne marche pas. voici ce
que tu peux faire pour arranger ton code :
For i = 0 To 65520
tu remplaces par
For i = 1 To 65520
car les cellules commencent a partir de 1 (tu peux d'ailleurs anlever la
1ere ligne i = 1 qui ne sers a rien)
Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select
Remplaces par :
Activesheet.Range(Cells(i, 1), Cells(i + 14, 1)).Select
En effet, je ne crois pas que tu veuilles utiliser ActiveCell qui recupere
les cellules actives car tu ne les selectionnes pas avant. Donc le meixu est
d'utiliser l'objet Cells permettant de selectionner des cellules a une place
bien spécifique.
"Maximus" <Le_spam@ne_passe_pas.com> wrote in message
news:446ec36b$0$18350$8fcfb975@news.wanadoo.fr...
Bonjour
Voici ce que je désire faire
Sur une feuille f1 copier A1:A15,coller transposé sur feuille f2 en A2
Sur f1 copier A16:A31 coller transposé sur f2 en A3
...
Sur f1 copier A65520:A65535 coller transposé sur f2 en A4370
Voici mon problème
Réaliser tout ceci par macro VBA, et plus particulièrement comment désigné
un range de cellules avec des variables (car j'aimerai faire une boucle
for)
Voici ce que j'ai fait, mais qui ne marche pas...
""
Dim i As Integer
Dim h As Integer
Dim j As Integer
Cells.NumberFormat = "@"
i = 1
j = 2
For i = 0 To 65520
Sheets("f1").Select
Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select
Selection.Copy
Sheets("f2").Select
Range(ActiveCell(j, "A"), ActiveCell(j, "O")).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=True
i = i + 15
j = j + 1
Next
""
Merci de m'éclairer parce que là je suis perdu
@+Max
J'ai regardé ton code et cela ne m'etonne pas que ca ne marche pas. voici ce que tu peux faire pour arranger ton code :
For i = 0 To 65520 tu remplaces par
For i = 1 To 65520 car les cellules commencent a partir de 1 (tu peux d'ailleurs anlever la 1ere ligne i = 1 qui ne sers a rien)
Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select Remplaces par :
Activesheet.Range(Cells(i, 1), Cells(i + 14, 1)).Select En effet, je ne crois pas que tu veuilles utiliser ActiveCell qui recupere les cellules actives car tu ne les selectionnes pas avant. Donc le meixu est d'utiliser l'objet Cells permettant de selectionner des cellules a une place bien spécifique.
Voici ce que je désire faire Sur une feuille f1 copier A1:A15,coller transposé sur feuille f2 en A2 Sur f1 copier A16:A31 coller transposé sur f2 en A3 ... Sur f1 copier A65520:A65535 coller transposé sur f2 en A4370
Voici mon problème Réaliser tout ceci par macro VBA, et plus particulièrement comment désigné un range de cellules avec des variables (car j'aimerai faire une boucle for)
Voici ce que j'ai fait, mais qui ne marche pas... "" Dim i As Integer Dim h As Integer Dim j As Integer
Cells.NumberFormat = "@"
i = 1 j = 2 For i = 0 To 65520 Sheets("f1").Select Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select Selection.Copy Sheets("f2").Select Range(ActiveCell(j, "A"), ActiveCell(j, "O")).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True i = i + 15 j = j + 1
Next ""
Merci de m'éclairer parce que là je suis perdu @+Max
Maximus
Bonsoir
Merci de votre réponse..Problème résolu avec un Do While et effectivement un appel des cellules par cells et non activecells
Cordialement @+Max
"David" a écrit dans le message de news:
Bonjour,
J'ai regardé ton code et cela ne m'etonne pas que ca ne marche pas. voici ce que tu peux faire pour arranger ton code :
For i = 0 To 65520 tu remplaces par
For i = 1 To 65520 car les cellules commencent a partir de 1 (tu peux d'ailleurs anlever la 1ere ligne i = 1 qui ne sers a rien)
Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select Remplaces par :
Activesheet.Range(Cells(i, 1), Cells(i + 14, 1)).Select En effet, je ne crois pas que tu veuilles utiliser ActiveCell qui recupere les cellules actives car tu ne les selectionnes pas avant. Donc le meixu est d'utiliser l'objet Cells permettant de selectionner des cellules a une place bien spécifique.
Voici ce que je désire faire Sur une feuille f1 copier A1:A15,coller transposé sur feuille f2 en A2 Sur f1 copier A16:A31 coller transposé sur f2 en A3 ... Sur f1 copier A65520:A65535 coller transposé sur f2 en A4370 Voici mon problème Réaliser tout ceci par macro VBA, et plus particulièrement comment désigné un range de cellules avec des variables (car j'aimerai faire une boucle for)
Voici ce que j'ai fait, mais qui ne marche pas... "" Dim i As Integer Dim h As Integer Dim j As Integer
Cells.NumberFormat = "@"
i = 1 j = 2 For i = 0 To 65520 Sheets("f1").Select Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select Selection.Copy Sheets("f2").Select Range(ActiveCell(j, "A"), ActiveCell(j, "O")).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True i = i + 15 j = j + 1
Next ""
Merci de m'éclairer parce que là je suis perdu @+Max
Bonsoir
Merci de votre réponse..Problème résolu avec un Do While et effectivement un
appel des cellules par cells et non activecells
Cordialement
@+Max
"David" <aksdav@hotmail.com> a écrit dans le message de
news: uGUUzsYfGHA.2456@TK2MSFTNGP04.phx.gbl
Bonjour,
J'ai regardé ton code et cela ne m'etonne pas que ca ne
marche pas. voici ce que tu peux faire pour arranger ton
code :
For i = 0 To 65520
tu remplaces par
For i = 1 To 65520
car les cellules commencent a partir de 1 (tu peux
d'ailleurs anlever la 1ere ligne i = 1 qui ne sers a rien)
Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select
Remplaces par :
Activesheet.Range(Cells(i, 1), Cells(i + 14, 1)).Select
En effet, je ne crois pas que tu veuilles utiliser
ActiveCell qui recupere les cellules actives car tu ne
les selectionnes pas avant. Donc le meixu est d'utiliser
l'objet Cells permettant de selectionner des cellules a
une place bien spécifique.
"Maximus" <Le_spam@ne_passe_pas.com> wrote in message
news:446ec36b$0$18350$8fcfb975@news.wanadoo.fr...
Bonjour
Voici ce que je désire faire
Sur une feuille f1 copier A1:A15,coller transposé sur
feuille f2 en A2 Sur f1 copier A16:A31 coller transposé
sur f2 en A3 ...
Sur f1 copier A65520:A65535 coller transposé sur f2 en
A4370
Voici mon problème
Réaliser tout ceci par macro VBA, et plus
particulièrement comment désigné un range de cellules
avec des variables (car j'aimerai faire une boucle for)
Voici ce que j'ai fait, mais qui ne marche pas...
""
Dim i As Integer
Dim h As Integer
Dim j As Integer
Cells.NumberFormat = "@"
i = 1
j = 2
For i = 0 To 65520
Sheets("f1").Select
Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select
Selection.Copy
Sheets("f2").Select
Range(ActiveCell(j, "A"), ActiveCell(j, "O")).Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
i = i + 15
j = j + 1
Next
""
Merci de m'éclairer parce que là je suis perdu
@+Max
Merci de votre réponse..Problème résolu avec un Do While et effectivement un appel des cellules par cells et non activecells
Cordialement @+Max
"David" a écrit dans le message de news:
Bonjour,
J'ai regardé ton code et cela ne m'etonne pas que ca ne marche pas. voici ce que tu peux faire pour arranger ton code :
For i = 0 To 65520 tu remplaces par
For i = 1 To 65520 car les cellules commencent a partir de 1 (tu peux d'ailleurs anlever la 1ere ligne i = 1 qui ne sers a rien)
Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select Remplaces par :
Activesheet.Range(Cells(i, 1), Cells(i + 14, 1)).Select En effet, je ne crois pas que tu veuilles utiliser ActiveCell qui recupere les cellules actives car tu ne les selectionnes pas avant. Donc le meixu est d'utiliser l'objet Cells permettant de selectionner des cellules a une place bien spécifique.
Voici ce que je désire faire Sur une feuille f1 copier A1:A15,coller transposé sur feuille f2 en A2 Sur f1 copier A16:A31 coller transposé sur f2 en A3 ... Sur f1 copier A65520:A65535 coller transposé sur f2 en A4370 Voici mon problème Réaliser tout ceci par macro VBA, et plus particulièrement comment désigné un range de cellules avec des variables (car j'aimerai faire une boucle for)
Voici ce que j'ai fait, mais qui ne marche pas... "" Dim i As Integer Dim h As Integer Dim j As Integer
Cells.NumberFormat = "@"
i = 1 j = 2 For i = 0 To 65520 Sheets("f1").Select Range(ActiveCell(i, 1), ActiveCell(i + 14, 1)).Select Selection.Copy Sheets("f2").Select Range(ActiveCell(j, "A"), ActiveCell(j, "O")).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True i = i + 15 j = j + 1
Next ""
Merci de m'éclairer parce que là je suis perdu @+Max