Transposer des données qui me sont fourni sur une colonne sur 3lignes

Bonjour,

j’aimerai transposer des données qui me sont fourni sur une colonne sur
3lignes

je m’explique, je reçois actuellement un fichier qui comprend, sur une
ligne , la date, sur la suivante un nom et sur la suivante encore un
éventuel commentaire.Et ceci pour chaque dimanche de l’année en cours
dans une seule colonne.

pour pouvoir l’utiliser en « liste déroulante » ,j’aimerais transformer ce
fichier avec une colonne qui comprend les dates, une autre les noms et
la suivante les commentaires mais sur autant de lignes que de dates validée.

bien cordialement

Christian novice excel

Bonjour,

Un petit classeur exemple serait bien afin de travailler dessus et afin de voir quel caractère est présent pour dissocier les valeurs

1 « J'aime »

Bonjour, je vais essayer de vous joindre le fichier J’aimerai transposer ces données sur 4 colonnes, et autant de lignes qu’,il y a de dates.Une pour les dates, une pour les noms et les deux dernières pour les éventuels commentaires Jusque la, je le fait manuellement Bien corďialementChristian

-------- Message d’origine --------De : Mimimathy88 contact@formuleexcel.com Date : 29/01/2018 06:11 (GMT+01:00) À : c-h-w@wanadoo.fr Objet : [Forum Formule Excel] Transposer des données qui me sont fourni sur une colonne sur 3lignes

    Mimimathy
    

    janvier 29

Bonjour,
Un petit classeur exemple serait bien afin de travailler dessus et afin de voir quel caractère est présent pour dissocier les valeurs

permanence 2018.xlsx (15.3 KB)

Re,

Ah, là, c’est pas la même, tu me dis sur une ligne

NIET c’est tous les 4 lignes

De plus certaines dates (qui n’en sont pas au format EXCEL) sont couplées

Je vais voir ce que je peut en tirer demain matin, avec une colonne par ligne par rapport à un groupe de 4 cellules

Bonsoir, en fait, ce que je dois faire aujourd’hui, c’est recopier toutes ces cellules dans lordre des dates dans une seule colonne, puis je les transpose par groupe de 4 lignes. Ce qui est un peu fastidieux.

-------- Message d’origine --------De : Mimimathy88 contact@formuleexcel.com Date : 29/01/2018 18:25 (GMT+01:00) À : c-h-w@wanadoo.fr Objet : [Forum Formule Excel] Transposer des données qui me sont fourni sur une colonne sur 3lignes

    Mimimathy
    

    janvier 29

Re,
Ah, là, c’est pas la même, tu me dis sur une ligne
NIET c’est tous les 4 lignes
De plus certaines dates (qui n’en sont pas au format EXCEL) sont couplées
Je vais voir ce que je peut en tirer demain matin, avec une colonne par ligne par rapport à un groupe de 4 cellules

Bonjour,
Voici le résultat

Le code

Sub Degroup()
'Déclaration des variables
Dim Isource%, Jsource%, Idesti%, Jdesti%, Dl%, i%
Dim Ws As Worksheet, Wd As Worksheet
'Initialisation des variables
Set Ws = Sheets("Feuil1")
Set Wd = Sheets("Feuil2")
Idesti = 1
Jdesti = 1
Dl = Ws.Range("A" & Rows.Count).End(xlUp).Row
'Boucle sur les colonnes de 1 à 4
For Jsource = 1 To 4
'Boucle sur les lignes de 1 à dernière ligne par pas de 4
  For Isource = 1 To Dl Step 4
    If Ws.Cells(Isource, 1) = "" Then 'si la cellule de la colonne 1 est vide, saute d'une ligne
    Isource = Isource + 1
    Else                              'sinon
    Wd.Cells(Idesti, Jdesti) = Ws.Cells(Isource, Jsource)
    Wd.Cells(Idesti, Jdesti + 1) = Ws.Cells(Isource + 1, Jsource)
    Wd.Cells(Idesti, Jdesti + 2) = Ws.Cells(Isource + 2, Jsource)
    Wd.Cells(Idesti, Jdesti + 3) = Ws.Cells(Isource + 3, Jsource)
    Idesti = Idesti + 1
    End If
  Next Isource
Next Jsource

'Supprime les lignes vides en commençant par le bas sur la feuil 2
Sheets("Feuil2").Activate
    With Worksheets("Feuil2")
        Dl = .Range("A" & .Rows.Count).End(xlUp).Row
          For i = Dl To 1 Step -1
              If Range("A" & i) = "" Then .Range("A" & i).EntireRow.Delete
          Next i
    End With
End Sub

Le classeur
permanence 2018.xlsm (25,1 Ko)

1 « J'aime »

Merci beaucoup, je test cela des mon retour ce week-end.

-------- Message d’origine --------De : Mimimathy88 contact@formuleexcel.com Date : 30/01/2018 05:58 (GMT+01:00) À : c-h-w@wanadoo.fr Objet : [Forum Formule Excel] Transposer des données qui me sont fourni sur une colonne sur 3lignes

    Mimimathy
    

    janvier 30

Bonjour,

Voici le résultat
Le code
Sub Degroup()
'Déclaration des variables
Dim Isource%, Jsource%, Idesti%, Jdesti%, Dl%, i%
Dim Ws As Worksheet, Wd As Worksheet
'Initialisation des variables
Set Ws = Sheets(« Feuil1 »)
Set Wd = Sheets(« Feuil2 »)
Idesti = 1
Jdesti = 1
Dl = Ws.Range(« A » & Rows.Count).End(xlUp).Row
'Boucle sur les colonnes de 1 à 4
For Jsource = 1 To 4
'Boucle sur les lignes de 1 à dernière ligne par pas de 4
For Isource = 1 To Dl Step 4
If Ws.Cells(Isource, 1) = «  » Then 'si la cellule de la colonne 1 est vide, saute d’une ligne
Isource = Isource + 1
Else 'sinon
Wd.Cells(Idesti, Jdesti) = Ws.Cells(Isource, Jsource)
Wd.Cells(Idesti, Jdesti + 1) = Ws.Cells(Isource + 1, Jsource)
Wd.Cells(Idesti, Jdesti + 2) = Ws.Cells(Isource + 2, Jsource)
Wd.Cells(Idesti, Jdesti + 3) = Ws.Cells(Isource + 3, Jsource)
Idesti = Idesti + 1
End If
Next Isource
Next Jsource

'Supprime les lignes vides en commençant par le bas sur la feuil 2
Sheets(« Feuil2 »).Activate
With Worksheets(« Feuil2 »)
Dl = .Range(« A » & .Rows.Count).End(xlUp).Row
For i = Dl To 1 Step -1
If Range(« A » & i) = «  » Then .Range(« A » & i).EntireRow.Delete
Next i
End With
End Sub

Le classeur

permanence 2018.xlsm (25,1 Ko)