XL 2013 ma fonction perso (multiBase0ToBase1) ne fonctionne plus correctement

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 !

patricktoulon

XLDnaute Barbatruc
re bonjour a tous
ben aujourd'hui c'est le jour des bizarreries
j'ai ma fonctionMagic perso base 0 to base 1 ( en une ligne) qui ne fonctionne plus sur 2013
en effet elle me restitue mon tableau avec plus de colonne
le columns.count d'une feuille pour être précis
VB:
Function Base0ToBase1 (tbl)
    Base0ToBase1 = Application.Index(tbl, Evaluate("ROW(1:" & UBound(tbl) + 1 & ")"), Evaluate("column(1:" & Ubound(tbl)+1 & ")"))
End Function

pour la tester
VB:
Sub test()
    Dim tablo(5, 10), tblBase1
    texte = "ligne 1 index = " & LBound(tablo) & vbCrLf & "colone 1 index = " & LBound(tablo, 2)
    texte = texte & vbCrLf & " derniere ligne  index = " & UBound(tablo) & vbCrLf & "derniere colonne  index = " & UBound(tablo, 2)
    MsgBox texte

    tblBase1 = Base0ToBase1 (tablo)
    texte = "ligne 1 index = " & LBound(tblBase1) & vbCrLf & "colone 1 index = " & LBound(tblBase1, 2)
    texte = texte & vbCrLf & " derniere ligne  index = " & UBound(tblBase1) & vbCrLf & "derniere colonne  index = " & UBound(tblBase1, 2)
    MsgBox texte

End Sub
🤔🤔🤔🤔
 
Solution
purée je me suis encore bien levé moi ce matin
je ne fait que des sottises
c'est bon c''est corrigé c'est les lettres de colonnes qu'il faut pas les numero dans le 2d evaluate

VB:
Sub test()
    Dim tablo(5, 10), tblBase1
    texte = "ligne 1 index = " & LBound(tablo) & vbCrLf & "colone 1 index = " & LBound(tablo, 2)
    texte = texte & vbCrLf & " derniere ligne  index = " & UBound(tablo) & vbCrLf & "derniere colonne  index = " & UBound(tablo, 2)
    MsgBox texte

    tblBase1 = Base0ToBase1(tablo)
    texte = "ligne 1 index = " & LBound(tblBase1) & vbCrLf & "colone 1 index = " & LBound(tblBase1, 2)
    texte = texte & vbCrLf & " derniere ligne  index = " & UBound(tblBase1) & vbCrLf & "derniere colonne  index = " & UBound(tblBase1, 2)...
purée je me suis encore bien levé moi ce matin
je ne fait que des sottises
c'est bon c''est corrigé c'est les lettres de colonnes qu'il faut pas les numero dans le 2d evaluate

VB:
Sub test()
    Dim tablo(5, 10), tblBase1
    texte = "ligne 1 index = " & LBound(tablo) & vbCrLf & "colone 1 index = " & LBound(tablo, 2)
    texte = texte & vbCrLf & " derniere ligne  index = " & UBound(tablo) & vbCrLf & "derniere colonne  index = " & UBound(tablo, 2)
    MsgBox texte

    tblBase1 = Base0ToBase1(tablo)
    texte = "ligne 1 index = " & LBound(tblBase1) & vbCrLf & "colone 1 index = " & LBound(tblBase1, 2)
    texte = texte & vbCrLf & " derniere ligne  index = " & UBound(tblBase1) & vbCrLf & "derniere colonne  index = " & UBound(tblBase1, 2)
    MsgBox texte

End Sub
Function Base0ToBase1(tbl)
       Base0ToBase1 = Application.Index(tbl, Evaluate("ROW(1:" & UBound(tbl) + 1 & ")"), Evaluate("column(" & Cells(1).Resize(, UBound(tbl, 2) + 1).EntireColumn.Address(0, 0) & ")"))
End Function

pour info(pour ceux qui ne connaissent pas)
créer un array 2 dim (10 lignes sur 1 colonne avec les nombre dedans )
Code:
x=Evaluate("ROW(1:" & 10 + 1 & ")")
msgbox x(2,1)

créer un array 1 dim de 10 item avec les chiffres dedans
Code:
x=Evaluate("column(A:k )")
msgbox x(2)

on peut aussi evaluer des row en le transposant pour l'array des colonnes
VB:
Function Base0ToBase1_V2(tbl)
    With Application: Base0ToBase1_V2 = .Index(tbl, Evaluate("ROW(1:" & UBound(tbl) + 1 & ")"), .Transpose(Evaluate("ROW(1:" & UBound(tbl, 2) + 1 & ")"))): End With
End Function
 
Dernière édition:
- 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
0
Affichages
516
Réponses
3
Affichages
955
  • Suggestion Suggestion
Recherche & référence DicoCountOrder
Réponses
0
Affichages
2 K
Réponses
22
Affichages
4 K
Retour