Récupérer les valeurs d'une colonne excel
Résolu
roberto93
Messages postés
14
Statut
Membre
-
azitech Messages postés 1 Statut Membre -
azitech Messages postés 1 Statut Membre -
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
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
A voir également:
- Récupérer les valeurs d'une colonne excel
- Déplacer une colonne excel - Guide
- Trier colonne excel - Guide
- Liste déroulante excel - Guide
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Formule somme excel colonne - Guide
4 réponses
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+
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+
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
++
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
++
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.
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.
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,