Gestionnaire de noms lignes aléatoires

  • Initiateur de la discussion Initiateur de la discussion Profane
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Profane

XLDnaute Occasionnel
Bonjour le forum
voila je nomme dynamiquement les colonnes en fonction du nom de celle ci, juste les colonnes qui m'interesse
le soucis c'est que sur un tableau qui doit faire 500 lignes où toutes les cellules sont remplies
et bien je n'obtiens pas toutes les lignes de la colonne et cela meme entre les 2 colonnes suivantes du code
Kesako ?
merci d'avance pour votre aide

Sub MEFDT()
Sheets("DT").Activate
Dim i As Integer
With Sheets("DT")
For i = 1 To 36
If .Cells(1, i) = "N° de commande_extra" Then
.Cells(1, i) = "Commande_extra"
ActiveWorkbook.Names.Add Name:="Commande_extra", RefersToR1C1:="=OFFSET(DT!R2C" & i & ",,,COUNTA(DT!C" & i & ")-1)"
' on insere une colonne avant "command_extra"
.Columns(i).Resize(, 1).Insert
.Cells(1, i) = "RTX"
ElseIf .Cells(1, i) = "ID Accès" Then
ActiveWorkbook.Names.Add Name:="ID_Acces", RefersToR1C1:="=OFFSET(DT!R2C" & i & ",,,COUNTA(DT!C" & i & ")-1)"

End If
Next i
End With
End Sub
 
Re : Gestionnaire de noms lignes aléatoires

Bonjour,


dans des fonctions "décaler" ajoute la largeur de la plage =OFFSET(DT!R2C" & i & ",,,COUNTA(DT!C" & i & ")-1,1)" car chez moi cela provoque une erreur (référence invalide)

D'autre part quand tu insère des lignes tu traite 2 fois la colonne puisque tu insère un colonne supplémentaire à gauche de la colonne en cours

GIBI
 
Re : Gestionnaire de noms lignes aléatoires

Bonjour GIBI,
en fait j'ai trouvé d'ou vient l'erreur counta (VBA) = nbval en formule excel
et le probleme et que j'ai des cellules vides parmi les colonnes, donc en gros la formule compte le nombre de cellules non vides et implémente cette valeur comme fin de colonne, le probléme c'est que sur 500 lignes, j'en ai 13 de vides donc il mets la fin de colonne à 487 - titre.....ce qui fait que je me retrouve avec un nom de colonne erroné
y a il un moyen de pointer sur la colonne a, pour récuperer la valeur de fin et l'impolémenter ?
@+
 
Re : Gestionnaire de noms lignes aléatoires

bon,
j'ai bidouillé un truc mais ca marche pas non plus
pourtant c est l'idée.........
quelqu un a une idée ?

With Sheets("DT")
Dim loRge As Range
Dim liNbCol As Integer
Set loRge = Sheets("DT").Range("A1")
liNbCol = Sheets("DT").Range(loRge, loRge.End(xlDown)).Rows.Count

Dim i As Integer
For i = 1 To 36
If .Cells(1, i) = "N° de commande" Then
.Cells(1, i) = "Commande"
ActiveWorkbook.Names.Add Name:="Commande", RefersTo:=Range("i & 2:i & libNbCol")
End If
Next i
End With
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
237
Réponses
3
Affichages
665
Retour