Macro: Récupérer nom d'une colonne à partir d'un indice précis
Résolu
cs_douda06
Messages postés
68
Statut
Membre
-
cs_douda06 Messages postés 68 Statut Membre -
cs_douda06 Messages postés 68 Statut Membre -
Bonjour les génies :) ,
Je voudrai svp savoir comment sur Excel avec VBA faire pour récupérer les noms des colonnes à droite à partir d'une colonne précise (F1) et coller ces noms dans des onglets automatiquement crées.
La génération des onglets se fait correctement sauf que la récupération des noms ne marche pas chez moi.
J'ai essayé en dur ça marche avec : Tot = Cells(1, 6)
mais je veux qu'a chaque fois une colonne se crée que son nom apparait dans l'onglet généré.
voici le code (voir les flèches où ça pose pb) :
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Je voudrai svp savoir comment sur Excel avec VBA faire pour récupérer les noms des colonnes à droite à partir d'une colonne précise (F1) et coller ces noms dans des onglets automatiquement crées.
La génération des onglets se fait correctement sauf que la récupération des noms ne marche pas chez moi.
J'ai essayé en dur ça marche avec : Tot = Cells(1, 6)
mais je veux qu'a chaque fois une colonne se crée que son nom apparait dans l'onglet généré.
voici le code (voir les flèches où ça pose pb) :
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
With Sheets(4) 'initialisations .Range("A1:E1").Copy Ligfin = Columns("A").Find("*", , , , , xlPrevious).Row Tot = Cells(1, 6) '<---------------------------- En dur le nom de la col 6 'nombre de choix Nbre_chx = Application.CountIf(Rows(1), Tot) 'mémorisation feuil4 T_base = .Range(.Cells(2, 1), .Cells(Ligfin, 5 + Nbre_chx)) For Chx = 1 To Nbre_chx ReDim T_test(5, 1) Cptr_test = 0 'sélection des "USED" pour les TOT For Idx = 1 To UBound(T_base) If (T_base(Idx, 5 + Chx) = "USED") Then Cptr_test = Cptr_test + 1 ReDim Preserve T_test(5, Cptr_test) For Col = 1 To 5 T_test(Col, Cptr_test) = T_base(Idx, Col) Next End If Next .Range("A1:E1").Copy 'construction feuille Tots Sheets.Add After:=Sheets(Sheets.Count) With ActiveSheet .Name = Tot '<--------------------------------- l'appel du nom de col .Paste Range("A1").PasteSpecial Paste:=xlPasteColumnWidths 'restitution des tests .Range("A2").Resize(Cptr_test, 5) = Application.Transpose(T_test) .Range("A2:E" & Cptr_test + 1).Borders.Weight = xlThin End With Next End With
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
A voir également:
- Macro: Récupérer nom d'une colonne à partir d'un indice précis
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
4 réponses
Bonjour,
Un exemple à adapter :
Un exemple à adapter :
Dim ws As Worksheet Dim nwSh As Worksheet Dim col As Long Dim i As Long Set ws = Sheets(1) col = ws.Range("F1").End(xlToRight).Column For i = 6 To col Set nwSh = Worksheets.Add(After:=Sheets(Sheets.Count)) nwSh.Name = ws.Cells(1, i).Value Set nwSh = Nothing Next i
Bonjour skk201
J'ai testé avec ta ligne, mais ça ne me génère plus aucune feuille :(
pour le moment je teste avec les colonnes F1 (aaa), G1(bbb), H1(mm), I1(yyy)
Il faut que j'ajoute une boucle pour pourvoir m'afficher tous les noms des colonnes venant après F1,
genre:
Tot = Cells(1, F1.xlNext)
Je sais que cette instruction est incorrecte, mais y'a t -il quelque chose de pareil?
Merci
J'ai testé avec ta ligne, mais ça ne me génère plus aucune feuille :(
pour le moment je teste avec les colonnes F1 (aaa), G1(bbb), H1(mm), I1(yyy)
Il faut que j'ajoute une boucle pour pourvoir m'afficher tous les noms des colonnes venant après F1,
genre:
Tot = Cells(1, F1.xlNext)
Je sais que cette instruction est incorrecte, mais y'a t -il quelque chose de pareil?
Merci