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