Données dans un fichier Excel

bonjour a vous, svp j'ai un sourcis. j'ai des données dans un fichier excel dont la taille de ligne n'est pas fixe et j'aimerais inverser tout le fichier. comment faire.

Bonjour !

Avec aussi peu d'infos, difficile de t'aider. Je ne doute pas que le problème est clair pour toi, mais on est pas dans ta tête ! Par inverser le fichier, tu veux dire que la dernière ligne devienne la première, et inversement ?

j'ai une une liste de information qui varie a chaque fois (peut être 2 ou 6 ou 5) bref cela varie et doit s'afficher sur 8 colonne et maintenant j'aimerais que la première ligne soit la dernière la deuxième l'avant dernière. je souhaite inverser les lignes

Sub Fusion_Step2()

Dim WS_Count As Integer

Dim i As Integer

Dim array_elt() As String

Dim array_cell() As String

Dim bigrng As Range

Dim ok As Boolean

Dim ligne, colonne, nbr As Integer

ligne = 2

colonne = 1

Set ws = ActiveWorkbook.Sheets("F2")

ws.Cells.ClearContents

WS_Count = ActiveWorkbook.Worksheets.Count

Set bigrng = ws.Range("A1", "A1")

Dim rng As Range

Set rng = ActiveWorkbook.Worksheets("FR").Range(ActiveWorkbook.Worksheets("FR").UsedRange.Address)

If ActiveWorkbook.Worksheets("FR").UsedRange.Address <> "$A$1" Then

For Each cell In rng.Cells

ok = True

If cell <> "" Then

For Each cellBig In bigrng

nbr = 0

array_cell = Split(cellBig.Value, "-")

array_elt = Split(cell.Value, "-")

For t = 0 To UBound(array_elt)

For r = 0 To UBound(array_cell)

If array_cell(r) = array_elt(t) Then

nbr = nbr + 1

If (nbr = UBound(array_cell) + 1) Then

ok = False

Exit For

End If

End If

Next r

Next t

Next cellBig

If ok = True Then

ws.Cells(ligne, colonne) = cell.Value

Set bigrng = Union(bigrng, ws.Cells(ligne, colonne))

colonne = colonne + 1

If colonne = 8 Then '+++++++++++++precedement 9 pour 8 colonnes +++++++++++++++++

ligne = ligne + 1

colonne = 1

End If

End If

End If

Next cell

End If

End Sub

ceci est le code qui permet de remplir le fichier F2 et j'aimerais k lors du remplissaage k'il commence de la dernière ligne qui n'est connu a la première ligne, svp aidez moi c'est urgent je suis bloquer

Bonjour !

Avec aussi peu d'infos, difficile de t'aider. Je ne doute pas que le problème est clair pour toi, mais on est pas dans ta tête ! Par inverser le fichier, tu veux dire que la dernière ligne devienne la première, et inversement ?// oui tout les ligne doivent changer de position

Je ne tiens pas compte du script que tu as posté, n'ayant ni le fichier, ni d'explication sur le but de ta macro, ni commentaires agrémentant le code.

Néanmoins, voilà un script permettant d'inverser les lignes d'une feuille avec en-tête (à exécuter depuis la feuille en question) :

Sub InverserLignes()

Application.ScreenUpdating = False 'Désactive affichage
Application.Calculation = xlCalculationManual 'Désactive recalcul auto des formules

Dim Lmax As Long, Lig As Long, MaFeuille As Worksheet, Nom As String

Set MaFeuille = ActiveSheet
With MaFeuille
    Lmax = .Cells(Rows.Count, 1).End(xlUp).Row 'Dernière ligne
    Sheets.Add After:=MaFeuille 'Ajout d'une feuille
    For Lig = 2 To Lmax 'Parcourir les lignes
        .Rows(Lig).Copy Rows(Lmax - Lig + 2) 'Affecter valeurs
    Next Lig
    .Rows(1).Copy Rows(1) 'Report en-tête
    NomF = MaFeuille.Name 'Sauvegarde du nom de la feuille d'origine
    Application.DisplayAlerts = False 'Désactive affichage boite de dialogue
    .Delete 'Suppression de la feuille d'origine
    Application.DisplayAlerts = True
    ActiveSheet.Name = NomF 'Report du nom
End With

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub

[quote=Pedro22 post_id=690130 time=1537448484 user_id=45848]

Je ne tiens pas compte du script que tu as posté, n'ayant ni le fichier, ni d'explication sur le but de ta macro, ni commentaires agrémentant le code.

Néanmoins, voilà un script permettant d'inverser les lignes d'une feuille avec en-tête (à exécuter depuis la feuille en question) :

[code]Sub InverserLignes()// Merci cela fonctionne mais je tiens a l'appliquer sur ce fichier

7inverser44444.xlsx (13.46 Ko)

Bonjour Franck, le forum,

Ton fichier n'a aucune spécificité particulière, donc je ne vois pas où tu bloques pour utiliser la macro que je t'ai proposée ?

C'est l'absence d'en-tête qui te gène ? Le fait que tu souhaites afficher le rendu sur la même feuille ?

Sub InverserLignes()

Application.ScreenUpdating = False 'Désactive affichage

Application.Calculation = xlCalculationManual 'Désactive recalcul auto des formules

bonjour et merci pour ton aide, en fait je doit referencer le nom du fichier sur cette macro pr k'elle ne s'applique uniquement sur cette feuille. Svp aidez moi a corriger mes erreurs.

Sub Inverserligne()

Application.ScreenUpdating = False 'Désactive affichage

Application.Calculation = xlCalculationManual 'Désactive recalcul auto des formules

Dim Lmax As Long, Lig As Long, MaFeuille As Worksheet, Nom As String

Set MaFeuille = ActiveWorkbook.Sheets("fustre")

With MaFeuille

Lmax = .Cells(Rows.Count, 1).End(xlUp).Row 'Dernière ligne

Sheets.Add After:=MaFeuille 'Ajout d'une feuille

For Lig = 2 To Lmax 'Parcourir les lignes

.Rows(Lig).Copy Rows(Lmax - Lig + 2) 'Affecter valeurs

Next Lig

.Rows(1).Copy Rows(1) 'Report en-tête

NomF = MaFeuille.Name 'Sauvegarde du nom de la feuille d'origine

Application.DisplayAlerts = False 'Désactive affichage boite de dialogue

.Delete 'Suppression de la feuille d'origine

Application.DisplayAlerts = True

ActiveSheet.Name = NomF 'Report du nom

End With

Application.ScreenUpdating = True

Application.Calculation = xlCalculationAutomatic

End Sub

S'il te plait, fait l'effort de mettre en forme ton code à l'aide du bouton </>, sinon c'est carrément illisible, surtout si tu t'amuses à planquer une phrase au milieu !

Encore une fois, je ne vois pas où est le problème avec le code, si tu as une feuille qui s'appelle "fustre" il te l'inversera après exécution. Quand tu dis que tu as des erreurs, c'est des erreurs d'exécution ? Que t'affiche Excel ?

slt

cela inverse uniquement la dernière ligne

je l'ai fait, mais cela change uniquement la position de la dernière ligne avec la deuxième ligne. svp que faire

je l'ai fait, mais cela change uniquement la position de la dernière ligne avec la deuxième ligne. svp que faire

Y mettre un peu de bonne volonté ! Je te laisse constater par toi même avec le fichier que tu as envoyé, la macro est fonctionnelle... J'y ai néanmoins ajouté un paramètre pour préciser la présence ou non d'une en-tête.

4inverser44444.xlsm (31.00 Ko)

bonjour

salut Pedro

il est inutile d'inverser l'ordre de lignes dans une table de données

si c'était important, il y aurait des repères dans une ou plusieurs colonnes (une date par exemple) et le tri serait évident.

Bonjour,

Un exemple avec Récupérer et transformer (Excel 2016).

Cdlt.

2frankphare9.xlsx (27.23 Ko)

slt Perdro

svp c'est quoi une entête?

slt Perdro

svp c'est quoi une entête?

Bonjour,

Tableau avec en-tête :

Indice_LigneNom
1DUPONT
2DURAND
3DUTRONC
......

Tableau sans en-tête :

1DUPONT
2DURAND
3DUTRONC
......

Merci pedro

mon tableau n'a pas d’entêté.

en principe ce fichier est chargé par un autre fichier de maniéré automatique et ne possédé po d'entête, tout ce que je dois faire c'est faire une inversion des lignes qui arriverons dans ce fichiers.

Dans tous les cas, la macro que je t'ai proposé résout ton problème...

Par ailleurs, tu peux aussi procéder en ajoutant une colonne avec un N° croissant (index de ligne) et faire ensuite un tri par ordre décroissant :

1DUPONT
2DURAND
3DUTRONC

Devient :

3DUTRONC
2DURAND
1DUPONT

Merci Bien

Lors de la recharge de ce fichier, on ne sait le nombre exacte de ligne

Rechercher des sujets similaires à "donnees fichier"