Selectionner quelques colonnes avec "for"

Salut tout le monde

j'ai un grand besoin d'aide pour quelque chose de tout simple mais qui me bloque ;(... J'aimerais sélectionner 3 colonnes qui sont à 3 cases d'intervalle pour ensuite les coller sur une autre feuille (notamment feuil2)...si quelqun pourrait m'éclairer ce serait super super super sympa

Bonjour,

As-tu un fichier à joindre...??? ou une ébauche de ta macro ...???

Dim i As Integer

Dim tableau1(217) As Double

Dim tableau2(217) As Double

Dim tableau3(217) As Double

Set result = Worksheets("feuil2")

'nommer variables tableaux

For i = 10 To 227

result.tableau1(i - 10) = result.Range("E" & i + 10)

result.tableau2(i - 10) = result.Range("H" & i + 10)

result.tableau3(i - 10) = result.Range("K" & i + 10)

Next

'copier les trois colonnes sur la feuille2

For i = 10 To 227

Cells(i, 1).Value = result.tableau1(i)

Cells(i, 2).Value = result.tableau2(i)

Cells(i, 3).Value = result.tableau3(i)

Next i

voici mes codes, le tableau des valeurs est sur la feuille 1 et je veux créer mon tableau sur la feuille 2...... mais ya rien qui s'affiche sur la feuille2......

Bonjour,

Pour te donner un point de départ ... à adapter à ton véritable fichier ...

Sub Copier()
Dim i As Integer        'variable lignes
Dim j As Integer        'variable colonnes
Dim source As Worksheet
Dim result As Worksheet

Set source = Worksheets("Feuil1")
Set result = Worksheets("Feuil2")

' Copier les 3 colonnes A,B,C de la Feuille 1 vers la Feuille2
' pour les lignes allant de 10 à 12
For j = 1 To 3
  For i = 10 To 12
    result.Cells(i, j).Value = source.Cells(i, j).Value
  Next i
Next j

End Sub

merci pour ta réponse mais ça ne marche toujours pas........

ca ne veut pas copier coller je comprend pas ..... mes colonnes sont éloigné de 3 cases, je en change pas de valeur mes feuilles n'est-ce pas? puisuqe je les nomme feuil1 et feuil2 de leur vrai nom !! j'ai fait le code suivant :

Private Sub CommandButton1_Click()

Dim tableau1(217) As Double

Dim tableau2(217) As Double

Dim tableau3(217) As Double

Dim trie As Boolean

Dim save As Double

End Sub

Sub copier()

Dim i As Integer

Dim j As Integer

Dim source As Worksheets

Dim result As Worksheets

Set result = Worksheets("feuil1")

Set source = Worksheets("feuil2")

For i = 10 To 227

result.Cells(i, 5).Value = source.Cells(i, 1).Value

Next i

For i = 10 To 227

result.Cells(i, 8).Value = source.Cells(i, 2).Value

Next i

For i = 10 To 227

result.Cells(i, 11).Value = source.Cells(i, 3).Value

Next i

End Sub

Re,

Si tu as des difficultés à adapter la macro ... il faudrait que tu joignes ton fichier ...

c'est à dire?

je te remercie james

sabrina75005 a écrit :

c'est à dire?

je te remercie james

Pour joindre ton fichier Excel ... la video youtube ...

EbNYLzTz5wM

je pensais que tu parlais d'autres choses.... voila c'est fait j'ai mis des commentaires

je te remercie encore une fois c'est tres gentil

10vba.xlsm (31.31 Ko)

Re,

A première vue ... tu te compliques Enormément ...la vie ... !!!

Pourrais-tu résumer ton objectif final avec tes trois colonnes ...???

Car j'ai l'impression que tu n'as besoin d'aucune macro ...

etant donné que c'est compliqué de faire des boucles avec ce genre de tableau, je voudraix prendre les troix colonnes de prix de la feuille1 et les mettre cote à cote sur la feuille 2

Re,

Bien que je ne sois pas bien sûr de tout comprendre ....

Ci-joint ton fichier test ... ton bouton "Copier" à tester ...

5vba.xlsm (29.97 Ko)

oui c'est ça mais qu'est-ce qui n'allait pas dans mes codes??

merci beaucoup beaucoup


je voulais savoir pour mes autres programmes je dois créer un autre bouton?! ou c'est ok avec le bouton "coller"

Re,

Si tu compares les quelques lignes de la macro qui copie ... avec ton code initial ... tu pourras noter toutes les différences ...

A vrai dire ... tout le code que tu avais ... provenait peut-être d'un autre programme ...

Le plus important ... c'est que tu comprennes la logique de la macro qui fonctionne ...

Concernant ta deuxième question, si tu insères de nouvelles instructions à la suite de la macro ... cela va fonctionner ...

Mais pour la clarté de tes programmes et leurs futurs évolutions, je te recommande d'avoir une macro par type de traitement ...

c'est quoi l'interet d'avoir plusieurs macros? je comprends pas vraiment à quoi ça sert?les macro son les boutons???

question idiote mais question nécéssaire

merci pour votre aide

sabrina75005 a écrit :

c'est quoi l'interet d'avoir plusieurs macros? je comprends pas vraiment à quoi ça sert?les macro son les boutons???

question idiote mais question nécéssaire

Sabrina,

Je vais essayer d'éclaircir les différents points ...

1. Une macro est un petit programme qui effectue une série d'instructions pour produire un résultat attendu ...

2. Par exemple, une macro sert à copier ... et une autre sert à imprimer ... ... et, comme un lego, tu peux avoir une macro qui lance d'abord la macro qui copie ... puis la macro qui imprime ...

3. Les boutons sont des objects qui permettent de facilement lancer les macros ... (au lieu de devoir faire Alt+F8 ...)

J'espère que ces explications sont assez claires ...

oui merci beaucoup... et jai un nouveau souci je voudrais trier mes valeurs par ordre croissant et les mettre dans la colnne 6..voici mon code. merci

' ensuite je les trie, je fais une boucle et je souhaite placer mes nouvelles valeurs dans la colonne 6

Dim trie As Boolean

Dim save As Double

trie = False

While trie = False

trie = True

For i = 3 To 221

If result.Cells(i, 2) > result.Cells(i + 1, 2) Then

trie = False

save = result.Cells(i, 2)

result.Cells(i, 2) = result.Cells(i + 1, 2)

result.Cells(i + 1, 2) = save

End If

Next i

Wend

For i = 3 To 221

result.Cells(i, 6).Value = result.Cells(i - 3, 2).Value

Next i

Bonjour Sabrina,

Malheureusement, je ne suis pas sûr de comprendre ...

Quelles valeurs veux-tu trier ? Dans ta feuille2 , la colonne A , B ou C ...?

Pourquoi le tri doit aller en Colonne F ...?

Rechercher des sujets similaires à "selectionner colonnes"