Récupérer les valeurs d'une colonne excel

Résolu/Fermé
roberto93 Messages postés 14 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 7 juillet 2008 - 2 juil. 2008 à 14:08
azitech Messages postés 1 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 29 mars 2009 - 29 mars 2009 à 11:47
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

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
2 juil. 2008 à 14:24
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
roberto93 Messages postés 14 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 7 juillet 2008
2 juil. 2008 à 15:41
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,
-1
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
++
1
azitech Messages postés 1 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 29 mars 2009 1
29 mars 2009 à 11:47
comment coller un chifre dans une collone plusieursd fois
1
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
2 juil. 2008 à 19:15
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.
-1