Passer 9 lignes en 9 colonnes puis...

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

S

sebek_2000

Guest
Bonjour

Votre aide va encore une fois m'être nécessaire: j'ai un fichier avec uniquement des lignes (extraction depuis un tableau pdf.....) alors que c'est à la base un tableau comportant 9 colonnes et des lignes ensuite.

Du coup je recherche une façon de prendre les 9 premières lignes et de les mettre en 9 colonnes, puis les 9 lignes suivantes en 9 colonnes dans la ligne du dessous et ainsi de suite.

Ci-joint le fichier source.

Merci d'avance de votre précieuse aide.
 

Pièces jointes

Re : Passer 9 lignes en 9 colonnes puis...

Salut sebek_2000,

Voici un exemple de code qui te permet de faire ça:

Code:
Option Explicit
Option Base 1
Option Compare Text


Dim i As Long, h As Long
Dim NbLign As Integer, NbCol As Integer, NbLg As Integer
Dim tabl()
Dim Ws As Worksheet


Sub Convert()
    
    'Feuil où appliquer la macro
    Set Ws = Sheets("Feuil1")
    
    'Nombre de lignes avant le "saut"
    NbLign = 9
    
    With Ws
    
        ReDim tabl(.Range("A65536").End(xlUp).Row / NbLign, NbLign)
        For i = 1 To .Range("A65536").End(xlUp).Row
            
            NbCol = i Mod NbLign
            NbLg = i
            If NbCol = 0 Then
                
                NbCol = NbLign
                NbLg = NbLg - 1
                
            End If
            
            tabl(Int(NbLg / 9) + 1, NbCol) = .Range("A" & i).Value
        
        Next i
        
        .Range(.Cells(1, 2), .Cells(UBound(tabl()), UBound(tabl(), 2) + 1)).Value = tabl
        
    End With

End Sub

A insérer dans un module ==> Alt +F11 ==> Insérer ==> Module

Voir PJ:


N'hésite pas si tu as des questions
Bonne journée !
 

Pièces jointes

Dernière édition:
Re : Passer 9 lignes en 9 colonnes puis...

Bonjour

Votre aide va encore une fois m'être nécessaire: j'ai un fichier avec uniquement des lignes (extraction depuis un tableau pdf.....) alors que c'est à la base un tableau comportant 9 colonnes et des lignes ensuite.

Du coup je recherche une façon de prendre les 9 premières lignes et de les mettre en 9 colonnes, puis les 9 lignes suivantes en 9 colonnes dans la ligne du dessous et ainsi de suite.

Ci-joint le fichier source.

Merci d'avance de votre précieuse aide.


Bonjour

Comme ceci peut-être
Ctrl + q pour lancer la macro
 

Pièces jointes

Re : Passer 9 lignes en 9 colonnes puis...

Bonjour à tous.


Un autre code (pour aller vite) à placer dans le module de la feuille de données.
Le résultat apparaît dans une nouvelle feuille.​
VB:
Sub tata()
Dim i&, n&, v(), w()
Const nCol = 9
  n = Cells(Rows.Count, 1).End(xlUp).Row
  ReDim w(n \ nCol, nCol - 1)
  v = [A1].Resize(n, 1).Value
  For i = 0 To n - 1: w(i \ nCol, i Mod nCol) = v(i + 1, 1): Next
  Worksheets.Add
  ActiveSheet.[A1].Resize(1 + n \ nCol, nCol).Value = w
End Sub


Bonne journée.


ℝOGER2327
#7470


Jeudi 26 Gidouille 141 (Sainte Goulache, odalisque - fête Suprême Quarte)
22 Messidor An CCXXII, 4,2156h - cumin
2014-W28-4T10:07:03Z
 
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
16
Affichages
556
Réponses
18
Affichages
608
Réponses
6
Affichages
346
Réponses
6
Affichages
296
Réponses
19
Affichages
773
Retour