Récupérer les valeurs d'une colonne excel [Résolu/Fermé]

Signaler
Messages postés
14
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
7 juillet 2008
-
Messages postés
1
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
29 mars 2009
-
Bonjour,

Je souhaite récupérer les valeurs d'une colonne de la feuille 1 et l'envoyer sur la feuille 2.
J'ai 12 feuilles, je veux automatiser le processus pour allez plus vite car je dois faire la meme chose sur des dizaines de classeurs.
La feuille 1 regroupe les données sur toute l'année, chaque mois est sur une colonne

colonne A Colonne B Colonne C Colonne D et ainsi de suite....
Mois Activité Durée de l'activité Mois

Je veux récupérer les données des colonnes mois seulement de la feuille 1 et le copier/coller sur la feuille 2, 3, 4...12
sur la cellule N23 sur toute les feuilles.

Voici pour le moment la macro que j'ai

Sub Macro2()

Selection.Copy
Sheets(ActiveSheet.Name).Select
Range("N23").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
End Sub

J'en déduit qu'il faut rajouter une variable d'incrémentation pour lire les colonnes voulues et récupérer les valeurs.
Pour une colonne ce n'est pas la meme chose que pour les lignes on ne peut pas faire i = i +1, il faut utiliser le code ASCii et faire une double boucle pour les colonnes avec deux lettres. Comment dois je faire?
Dans le code ascii A = 65
J'ai besoin de votre aide pour résoudre mon problème
Merci d'avance

4 réponses

Messages postés
17213
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
7 septembre 2020
4 224
Salut,

tu peux utiliser un code simple et facile à écrire et à suivre

Sub Macro1()
'
Sheets("Feuil1").Select
Columns("A:A").Copy
Sheets("Feuil2").Select
Range("A1").Select
ActiveSheet.Paste

Sheets("Feuil1").Select
Columns("B:B").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil3").Select
Range("A1").Select
ActiveSheet.Paste

' rajouter ici le code pour les douze feuilles

Sheets("Feuil1").Select
Range("A1").Select
Application.CutCopyMode = False
End Sub

A+
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61087 internautes nous ont dit merci ce mois-ci

Messages postés
14
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
7 juillet 2008

Merci pour ton aide j'ai utilisé ta méthode, elle est suffisante pour moi

Cependant, y a t'il pas un moyen de faire une boucle imaginons nous avions plus de 100 colonnes a copier. Comment doit on procéder?

Cordialement,
Salut
moi j'avais fait cette macro pour rechercher une cellule qui contenait une certaine chaine de caractere ici ------Application----- et je supprimais toutes les cellules apres si sa peut t'aider .

Sub appli()
Dim i As Long
Dim j As Long
Dim k As String
Dim kk As String
i = 1
jj = 65
j = 65
k = Chr(j)
kk = Chr(jj)
For jj = 65 To 72 Step 1
kk = Chr(jj)
For j = 65 To 90 Step 1
k = Chr(j)
'Do While ActiveSheet.Range(kk & k & i).Value <> ""
'For jj = 65 To 73 Step 1
'For j = 65 To 90 Step 1
Do While i <> 1000

If ActiveSheet.Range(kk & k & i).Value = " ------------Applications (WMI)---------" Then
ActiveSheet.Range(kk & k & i & ":IV" & i).Delete Shift:=xlToLeft
End If
i = i + 1
Loop
i = 1
Next
'Loop
Next

End Sub


Voila
++
Messages postés
1
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
29 mars 2009
1
comment coller un chifre dans une collone plusieursd fois
Messages postés
17213
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
7 septembre 2020
4 224
Sur la même feuille il est possible d'écrire le code différemment, mais dans ton cas il faut prendre une colonne différente de la feuille1 pour les coller dans une feuille différente à chaque fois. par contre il est possible de nommer chaque colonne de la feuille 1 et à la place d'écrire dans la macro

Columns("A:A").Copy
on pourrai écrire le nom que l'on à donné à cette colonne exemple une.copy ou Pierre.copy etc ...


Sheets("Feuil1").Select ("Feuil1") est le nom de la feuille principale
Columns("A:A").Copy cette ligne fait référence à la colonne A
Sheets("Feuil2").Select ("Feuil2") est le nom d'une feuille de réception
Range("A1").Select A1 est la position de départ pour coller les infos
ActiveSheet.Paste et colle

à partir de ce code tu peux écrire cette fonction pour chaque colonne que tu doit copier sur la feuille de ton choix

A+

__________________________________________________________________

Besoin d’aide. Auprès du forum, des bénévoles prennent le temps de décrypter vos explications parfois confuses, et proposent leur connaissance.
Solution trouvée, ayez la courtoisie de porter votre statut résolu. Afin que votre problème soit classé, et serve de référence pour d’autres cas similaires.