XL 2010 Extraire 3 colonnes d'un champ au-delà de 65536 lignes

  • Initiateur de la discussion Initiateur de la discussion cp4
  • 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 !

cp4

XLDnaute Barbatruc
Bonjour🙂,

En fouinant sur le site de Boisgontier, j'ai trouvé des codes permettant de récupérer des colonnes choisies d'une plage.
Dans mon cas colonnes: 2, 3 et 16.
Cependant, ces codes plantent si la plage contient plus de 65536 lignes.
Comment contourner cette limitation à 65536 lignes.
Avec mes remerciements anticipés.

nb: je répondrai ce soir car très occupé ces derniers jours.
 

Pièces jointes

re
tiens j'ai envie de déconner aujourd'hui
version excel "versaintclitorix "

toi qui voulais des split cp4 ben tiens mange en 🤪 🤪 🤪 🤪
VB:
Public Property Get presse_papier_Mac_window()
    With CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .GetFromClipboard: presse_papier_Mac_window = .GetText(1): End With
End Function

Sub test()
    Range("b1:c" & Rows.Count).Copy: x1 = Split(presse_papier_Mac_window, vbCrLf)
    Range("p1:p" & Rows.Count).Copy: x2 = Split(presse_papier_Mac_window, vbCrLf)
    ReDim tbl(LBound(x1) To UBound(x1), 3)
    For i = LBound(tbl) To UBound(tbl) - 1
        tbl(i, 0) = Split(x1(i), vbTab)(0)
        tbl(i, 1) = Split(x1(i), vbTab)(1)
        tbl(i, 2) = Split(x2(i), vbTab)(0)
    Next
MsgBox tbl(3, 1)
End Sub
 
tiens cp4 tu pourais te servir d'union aussi avec une copie temporaire

VB:
Sub testunion()
Application.ScreenUpdating = False
Union(Range("b:c"), Range("p:p")).Copy [r1]
With [r1]: tbl = .CurrentRegion.Value: .CurrentRegion.ClearContents: End With
MsgBox tbl(566, 2)
End Sub

ce qu'il y a de bien avec le copy c'est que ça copie jusque a la dernière ligne utilisée donc on peut mettre une colonne entière ça fera que le strict nécessaire
je précise que j'ai testé dans le clipboard
 
Bonjour
Un essai
Bonsoir PierreJean,
Merci pour ta tentative, le code plante dès que le nombre de lignes dépasse 65536.
Capture.JPG

Merci quand même.
Bonne soirée.
 
re
tiens j'ai envie de déconner aujourd'hui
version excel "versaintclitorix "

toi qui voulais des split cp4 ben tiens mange en 🤪 🤪 🤪 🤪
VB:
Public Property Get presse_papier_Mac_window()
    With CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .GetFromClipboard: presse_papier_Mac_window = .GetText(1): End With
End Function

Sub test()
    Range("b1:c" & Rows.Count).Copy: x1 = Split(presse_papier_Mac_window, vbCrLf)
    Range("p1:p" & Rows.Count).Copy: x2 = Split(presse_papier_Mac_window, vbCrLf)
    ReDim tbl(LBound(x1) To UBound(x1), 3)
    For i = LBound(tbl) To UBound(tbl) - 1
        tbl(i, 0) = Split(x1(i), vbTab)(0)
        tbl(i, 1) = Split(x1(i), vbTab)(1)
        tbl(i, 2) = Split(x2(i), vbTab)(0)
    Next
MsgBox tbl(3, 1)
End Sub
Re, rien compris. Sur ce coup, tu es hors sujet. Le split c'était dans l'autre discussion.
Merci.
 
tiens cp4 tu pourais te servir d'union aussi avec une copie temporaire

VB:
Sub testunion()
Application.ScreenUpdating = False
Union(Range("b:c"), Range("p:p")).Copy [r1]
With [r1]: tbl = .CurrentRegion.Value: .CurrentRegion.ClearContents: End With
MsgBox tbl(566, 2)
End Sub

ce qu'il y a de bien avec le copy c'est que ça copie jusque a la dernière ligne utilisée donc on peut mettre une colonne entière ça fera que le strict nécessaire
je précise que j'ai testé dans le clipboard
Re, Je n'ai pas ton niveau donc rien compris quant à son utilisation au problème posé.
Merci quand même.
 
tu ne sais pas ce qu'est la fonction union ???
Je sais ce qu'est la fonction union. Je ne vois pas comment l'utiliser pour récupérer dans l'array juste les 3 colonnes (en l'occurence 2,3 et 16) lorsque le nombre de lignes de la plage dépasse 65536.

Le résultat sur la feuille c'est juste pour faire joli comme le disait Mapomme (que je salue😉).
Je n'en ai pas besoin. Ce qui m'intéresse c'est le Tableau.

edit: sans feuille intermédiaire.
 
- 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

Retour