Mettre en 3 colonne une matrice numérique

Bonjour,

Je dois mettre en colonne une matrice numérique. Par exemple dans la première ligne j'ai des valeurs de 200 à 400 et dans la première colonne j'ai des valeurs de 300 à 500, et a l'intérieur de ce tableau a double entrée j'ai des valeurs comprise entre 0 et 10 par exemple.

J'ai utiliser le script vba de cette vidéo youtube "Comment transformer un tableau à double entrée en un tableau en 1 dimension (liste) sur Excel".

Le script fonctionne très bien si les en-tête des lignes et des colonnes sont du texte.
Dans mon cas la boucle de lecture du tableau ne fonctionne pas car ce sont aussi des valeurs numériques.

Je n'arrive pas a faire que ma boucle ne prennent pas en compte la première ligne et la première colonne du tableau.
Pouvez-vous m'aider ?

Je suis ouverte a toute autre façon de mettre une matrice en colonne !
Merci beaucoup par avance :)

Sub Macro_matrice()
    ' 1 - contrôler la cellule sélectionnée
    If MsgBox("Avez-vous sélectionné une des céllules du tableau ?", vbYesNo) = vbNo Then
        MsgBox "Veuillez sélectionner une cellule du tableau, puis relancer la macro"
        Exit Sub
    End If

    ' 2 - récupérer la plage du tableau
    Dim ptableau As Range
    Set ptableau = ActiveCell.CurrentRegion

    MsgBox ptableau.Address

    ' 3 - créer la liste
    Dim LigneTitre As Integer, colonneTitre As Integer
    Dim ligne As Integer, colonne As Integer
    Dim cellule As Range

    Set cellule = Sheets("Liste").[a1]
    Sheets("Liste").Cells.ClearContents

    LigneTitre = ptableau.Cells(1).Row
    colonneTitre = ptableau.Cells(1).Column

    Dim celluleTableau As Range
    For Each celluleTableau In ptableau
        If Not ptableau.Cells(1).Row Then
            If IsNumeric(celluleTableau) Then
                cellule = Cells(celluleTableau.Row, colonneTitre)
                cellule.Offset(0, 1) = Cells(LigneTitre, celluleTableau.Column)
                cellule.Offset(0, 2) = celluleTableau
                Set cellule = cellule.Offset(1, 0)
            Else
                ' cellule.Offset(1, 0)
            End If
        End If
    Next

Bonjour à tous,

Et.....

Vous devriez préciser, dans votre profil, la nature du produit Excel utilisé. Il est, en effet, important de connaître les fonctions à votre disposition.

Par ailleurs, pour une aide appropriée, il serait judicieux de nous présenter le résultat attendu à partir de votre fichier test.

Bonjour :)
Merci pour votre réponse !
J'ai modifié le fichier Excel et j'ai ajouté les différents résultats ! J'espère que ca rend le sujet plus clair ;)

Bonjour de nouveau,

Je vous remercie de ces précisions !

Je vous propose d'utiliser Power Query (nativement intégré à votre version Excel) pour obtenir le résultat escompté. Via cet outil, le traitement est d'une grande simplicité.

Si toutefois vous préférez une solution VBA, les spécialistes du forum se feront un plaisir de vous offrir un code opérationnel.

bonjour

toujours intéressant de décortiquer une matrice ligne par ligne

voici comment sans VBA , seules qques fonctions le permettent , en général elles contiennent un . dans la redaction (NB.SI; SOMME.SI; SOUS.TOTAL)

cordialement

15valerie02.xlsm (23.44 Ko)

Whaouh !
Ca prend 2 clic ! C'est merveilleux Power Query !

Je vous remercie grandement ca va me faciliter la vie dans le traitement de mes fichiers !!

Merci beaucoup JFL ! :D

capture

ps: La vidéo youtube qui m'a aidé "C'est quoi Power Query ? L'outil qui remplace le VBA"

Je vous remercie tulipe_4 :) Je vais continue avec power Query je suis plus à l'aise avec les interfaces ;)
Merci encore !

Bonjour de nouveau,

Je vous remercie de ce retour et.... de l'enthousiasme manifesté !

Bonnes découvertes.

Rechercher des sujets similaires à "mettre colonne matrice numerique"