Excel :

seb - 7 déc. 2001 à 17:26
 seb - 8 déc. 2001 à 09:06
Bonjour et merci à ceux qui m'ont répondu la dernière fois !

J'ai un petit problème à vous soummettre, toujours avec Excel ( ah, toujours les chiffres...).

1. Exposé du problème

J'ai trois colonnes. Ex :

A B C
12 15 16
28 14 12
34 36 28

Dans une macro, je veux faire une boucle qui va successivement me sélectionner le contenu de la colonne A (et le coller ailleurs), me sélectionner le contenu de la colonne B (et le coller ailleurs), etc...
En gros une macro qui copie une plage de cellules et qui la colle.

2. Voici la difficulté

- J'ai copié-collé sans problème la colonne A, en faisant qqchose comme ça :
Range("A1:A3").select
Selection.copy

- Le problème intervient quand je veux intégrer ce code dans la boucle :
---> Je veux, en fait, transformer la lettre-colonne (ex :A1) en une variable.

J'ai essayé le code suivant sans grand succès :

For j=1 to 3
Range("Cells(1,j):Cells(3,j)").select
Selection.Copy
Next

Si vous avez une p'tite combine pour résoudre le problème, je suis preneur.

Merci d'avance. Seb

2 réponses

Le plus simple est encore de faire cela valeur par valeur ou colonne par colonne
tu as une fonction du style column("A").select qui doit exister Mais bon moi j'ai pas trop je pense que j'aurais fait ca comme ca

'initialisation des variables
l= 1 'numéro de ligne
c=1 'numéro de colonne
do while c<4
do while i<4
'Récupération dans une variable
cellule = sheets("feuil1").cells(i,c)
'Je met la valeur ou je le veux
'exemple dans la feuille numéro 2 au même endroit
sheets("feuil2").cells(i,c) = cellule
i=i+1
loop
c=c+1
loop

'C'est long je décompose beaucoup mais bon ca marche
'si tu veux du plus rapide est plus spéctaculaire il y a une méthode assez bonne.
tu fait :
outil -> macro -> nouvelle macro
La tu sélectionne tes cellules tu copie bref tu fais les action que tu veux faire mais avec les outils classique (souris, copier,coller,etc..)
quand tu as fini tu fais:
outil -> macro -> arreter enregistrement
tu regarde dans l'interface VB et toutes tes action ont été traduite en code VBA c'est magique et ca sert souvent.
0
Merci pour ta réponse.

J'essaie d'optimiser la procédure au maiximum, alors je vais tenter de passer par la méthode column (le copier-coller cellule par cellule est un peu lent à l'execution).

A+
0
Rejoignez-nous