Je ne sais pas trop comment utiliser une boucle. J'ai un tableau excel
avec pas mal de colonnes, je souhaite exporter des informations de la
colonne A dans une autre feuille et effectuer pas mal de manip entre
les deux feuilles, et ensuite recommencer avec la colonne B, C, etc
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
X
Bonsoir,
Peut être d'abord dire tu si tu sais faire une boucle, avant de l'appliquer au vbA ???
"Doug" a écrit dans le message de news:
| Bonjour, | | Je ne sais pas trop comment utiliser une boucle. J'ai un tableau excel | avec pas mal de colonnes, je souhaite exporter des informations de la | colonne A dans une autre feuille et effectuer pas mal de manip entre | les deux feuilles, et ensuite recommencer avec la colonne B, C, etc | | Merci | Doug |
Bonsoir,
Peut être d'abord dire tu si tu sais faire une boucle, avant de
l'appliquer au vbA ???
"Doug" <douglasmartin79@yahoo.fr> a écrit dans le message de news:
1135267592.502435.198890@o13g2000cwo.googlegroups.com...
| Bonjour,
|
| Je ne sais pas trop comment utiliser une boucle. J'ai un tableau excel
| avec pas mal de colonnes, je souhaite exporter des informations de la
| colonne A dans une autre feuille et effectuer pas mal de manip entre
| les deux feuilles, et ensuite recommencer avec la colonne B, C, etc
|
| Merci
| Doug
|
Peut être d'abord dire tu si tu sais faire une boucle, avant de l'appliquer au vbA ???
"Doug" a écrit dans le message de news:
| Bonjour, | | Je ne sais pas trop comment utiliser une boucle. J'ai un tableau excel | avec pas mal de colonnes, je souhaite exporter des informations de la | colonne A dans une autre feuille et effectuer pas mal de manip entre | les deux feuilles, et ensuite recommencer avec la colonne B, C, etc | | Merci | Doug |
Salut Doug, Teste si ça te conviens, il te faudra sans doute adapter à tes besions mais c'est déjà une piste :
Sub MaProc() Dim Plage As Range Dim I As Long, J As Long
'défini la plage (ici, de A1 à la dernière 'cellules non vide de la feuille active) Set Plage = PlageUtilisee(ActiveSheet) 'boucle par colonne puis par ligne For I = 1 To Plage.Columns.Count 'colonne For J = 1 To Plage.Rows.Count 'ligne 'Ici le traitement que tu veux faire 'si il est nécessaire à chaque cellule 'sinon, à adapter... Debug.Print Plage(J, I) Next J Next I
Set Plage = Nothing End Sub
Function PlageUtilisee(Fe As Worksheet) As Range With Fe Set PlageUtilisee = .Range(.Cells( _ .Cells.Find("*", .[IV65536], , , 1, 1).Row, _ .Cells.Find("*", .[IV65536], , , 2, 1).Column), _ .Cells( _ .Cells.Find("*", .[A1], , , 1, 2).Row, _ .Cells.Find("*", .[A1], , , 2, 2).Column)) End With Set Fe = Nothing End Function
Hervé.
"Doug" a écrit dans le message de news:
Bonjour,
Je ne sais pas trop comment utiliser une boucle. J'ai un tableau excel avec pas mal de colonnes, je souhaite exporter des informations de la colonne A dans une autre feuille et effectuer pas mal de manip entre les deux feuilles, et ensuite recommencer avec la colonne B, C, etc
Merci Doug
Salut Doug,
Teste si ça te conviens, il te faudra sans doute adapter à tes besions mais
c'est déjà une piste :
Sub MaProc()
Dim Plage As Range
Dim I As Long, J As Long
'défini la plage (ici, de A1 à la dernière
'cellules non vide de la feuille active)
Set Plage = PlageUtilisee(ActiveSheet)
'boucle par colonne puis par ligne
For I = 1 To Plage.Columns.Count 'colonne
For J = 1 To Plage.Rows.Count 'ligne
'Ici le traitement que tu veux faire
'si il est nécessaire à chaque cellule
'sinon, à adapter...
Debug.Print Plage(J, I)
Next J
Next I
Set Plage = Nothing
End Sub
Function PlageUtilisee(Fe As Worksheet) As Range
With Fe
Set PlageUtilisee = .Range(.Cells( _
.Cells.Find("*", .[IV65536], , , 1, 1).Row, _
.Cells.Find("*", .[IV65536], , , 2, 1).Column), _
.Cells( _
.Cells.Find("*", .[A1], , , 1, 2).Row, _
.Cells.Find("*", .[A1], , , 2, 2).Column))
End With
Set Fe = Nothing
End Function
Hervé.
"Doug" <douglasmartin79@yahoo.fr> a écrit dans le message de news:
1135267592.502435.198890@o13g2000cwo.googlegroups.com...
Bonjour,
Je ne sais pas trop comment utiliser une boucle. J'ai un tableau excel
avec pas mal de colonnes, je souhaite exporter des informations de la
colonne A dans une autre feuille et effectuer pas mal de manip entre
les deux feuilles, et ensuite recommencer avec la colonne B, C, etc
Salut Doug, Teste si ça te conviens, il te faudra sans doute adapter à tes besions mais c'est déjà une piste :
Sub MaProc() Dim Plage As Range Dim I As Long, J As Long
'défini la plage (ici, de A1 à la dernière 'cellules non vide de la feuille active) Set Plage = PlageUtilisee(ActiveSheet) 'boucle par colonne puis par ligne For I = 1 To Plage.Columns.Count 'colonne For J = 1 To Plage.Rows.Count 'ligne 'Ici le traitement que tu veux faire 'si il est nécessaire à chaque cellule 'sinon, à adapter... Debug.Print Plage(J, I) Next J Next I
Set Plage = Nothing End Sub
Function PlageUtilisee(Fe As Worksheet) As Range With Fe Set PlageUtilisee = .Range(.Cells( _ .Cells.Find("*", .[IV65536], , , 1, 1).Row, _ .Cells.Find("*", .[IV65536], , , 2, 1).Column), _ .Cells( _ .Cells.Find("*", .[A1], , , 1, 2).Row, _ .Cells.Find("*", .[A1], , , 2, 2).Column)) End With Set Fe = Nothing End Function
Hervé.
"Doug" a écrit dans le message de news:
Bonjour,
Je ne sais pas trop comment utiliser une boucle. J'ai un tableau excel avec pas mal de colonnes, je souhaite exporter des informations de la colonne A dans une autre feuille et effectuer pas mal de manip entre les deux feuilles, et ensuite recommencer avec la colonne B, C, etc
Merci Doug
X
Ah, une boucle alors, le vbA faut avoir avec les spécialistes: Pour faire une boucle:
dim i as long ' variable dim donnee(10) as long
for i = 1 to 10 donnee(i) = i next i
Soit
FOR variable de la boucle(i) = début TO fin variable de la boucle va aller de 1 à 10 donc si on a un tableau avec 10 entrées (tableau(i)) permettra de lires et ou d'écrire dans chaque entrée, dans cet exemple... NEXT variable de la boucle
On peut indiquer un bas à la boucle, par exemple depuis 00h, n'afficher que les heures paires, soit:
for i = 0 to 24 step 2 MsgBox i ' affiche 0,2,4,6,8,10,12,14,16,18,20,22,24 next i
STEP (pas), on indique à la boucle le pas (par défaut, absence = 1), peut être aussi négatif...
On boucle peut aussi être faite à l'envers:
for i = 10 to 1 step -1 ' le step est cette fois obligatoire si on recule i = 10,9, ....1 next i
On peut aussi mettre plusieurs boucles les unes dans les autres:
for i = 1 to 10 for j = 1 to 20 '... next j next i
On peut schématiser une boucle ainsi: dim variable dim tabelau(10) variable = 0 bis: variable = variable + 1 MsgBox tabelau(i) = i if variable < 11 goto bis ' si > 10 on arrive ici, etc... ---------------------------
Tu peux tester tout ça afin d'en comprendre préalablement le mécanisme...
"Doug" a écrit dans le message de news:
| non |
Ah, une boucle alors, le vbA faut avoir avec les spécialistes:
Pour faire une boucle:
dim i as long ' variable
dim donnee(10) as long
for i = 1 to 10
donnee(i) = i
next i
Soit
FOR variable de la boucle(i) = début TO fin
variable de la boucle va aller de 1 à 10
donc si on a un tableau avec 10 entrées (tableau(i)) permettra de lires
et ou d'écrire dans chaque entrée, dans cet exemple...
NEXT variable de la boucle
On peut indiquer un bas à la boucle, par exemple depuis 00h, n'afficher que
les heures paires, soit:
for i = 0 to 24 step 2
MsgBox i ' affiche 0,2,4,6,8,10,12,14,16,18,20,22,24
next i
STEP (pas), on indique à la boucle le pas (par défaut, absence = 1), peut
être aussi négatif...
On boucle peut aussi être faite à l'envers:
for i = 10 to 1 step -1 ' le step est cette fois obligatoire si on recule
i = 10,9, ....1
next i
On peut aussi mettre plusieurs boucles les unes dans les autres:
for i = 1 to 10
for j = 1 to 20
'...
next j
next i
On peut schématiser une boucle ainsi:
dim variable
dim tabelau(10)
variable = 0
bis:
variable = variable + 1
MsgBox tabelau(i) = i
if variable < 11 goto bis
' si > 10 on arrive ici, etc...
---------------------------
Tu peux tester tout ça afin d'en comprendre préalablement le mécanisme...
"Doug" <douglasmartin79@yahoo.fr> a écrit dans le message de news:
1135270010.622845.56940@g47g2000cwa.googlegroups.com...
| non
|
Ah, une boucle alors, le vbA faut avoir avec les spécialistes: Pour faire une boucle:
dim i as long ' variable dim donnee(10) as long
for i = 1 to 10 donnee(i) = i next i
Soit
FOR variable de la boucle(i) = début TO fin variable de la boucle va aller de 1 à 10 donc si on a un tableau avec 10 entrées (tableau(i)) permettra de lires et ou d'écrire dans chaque entrée, dans cet exemple... NEXT variable de la boucle
On peut indiquer un bas à la boucle, par exemple depuis 00h, n'afficher que les heures paires, soit:
for i = 0 to 24 step 2 MsgBox i ' affiche 0,2,4,6,8,10,12,14,16,18,20,22,24 next i
STEP (pas), on indique à la boucle le pas (par défaut, absence = 1), peut être aussi négatif...
On boucle peut aussi être faite à l'envers:
for i = 10 to 1 step -1 ' le step est cette fois obligatoire si on recule i = 10,9, ....1 next i
On peut aussi mettre plusieurs boucles les unes dans les autres:
for i = 1 to 10 for j = 1 to 20 '... next j next i
On peut schématiser une boucle ainsi: dim variable dim tabelau(10) variable = 0 bis: variable = variable + 1 MsgBox tabelau(i) = i if variable < 11 goto bis ' si > 10 on arrive ici, etc... ---------------------------
Tu peux tester tout ça afin d'en comprendre préalablement le mécanisme...