Mofification de la présentation des données
Bonjour,
J'ai un problème de présentation des données afin de pouvoir en tirer un graphique :
Mon but : tirer une courbe de températures en fonctions de la date et de l'heure.
Facile, seulement les données que je j'extraie de mon logiciel de suivi ressemblent à ca (à imaginer dans un classeur
8h00 9h00 10h00 11h00
01/08/2013 21.5 22.0 23.4 24.2
02/08/2013 24.5 19.4 22.8 23.7
je voudrais les transformer en :
01/08/2013 8h00 21.5
01/08/2013 9h00 22.0
01/08/2013 10h00 23.4
01/08/2013 11h00 24.2
02/08/2013 8h00 24.5
02/08/2013 9h00 19.4
02/08/2013 10h00 22.8
02/08/2013 11h00 23.7
Afin de pouvoir en sortir une courbe...
Merci de votre expertise
Phil
Bonjour, as-tu essayé en sélectionnant ton tableau, puis clic droit copier, puis clic droit collage spécial : transposé (en bas à droite de la fenêtre) ?
Bonjour Phil974
Si comme je le pense, tes valeurs sont dans la même cellule, voici un code qui va t'être utile
Sub MeF_Données()
Dim ShtD As Worksheet
Dim DLig As Long, Lig As Long, NLig As Long
Dim Inc As Integer, Ind As Integer, TabHeure() As String, TabDon() As String
' Définir la feuille de destination
Set ShtD = Sheets("Feuil2")
' Avec la feuille Source
With Sheets("Feuil1")
' Créer un tableau des heures
TabHeure = Split(.Range("A1").Value, " ")
' Trouver la dernière ligne de la feuille source
DLig = .Range("A" & Rows.Count).End(xlUp).Row
' Pour chaque ligne en commençant par la 2ème, la première contenant les heures
For Lig = 2 To DLig
' Créer un tableau des données qui sont séparées par un espace
TabDon = Split(.Range("A" & Lig).Value, " ")
' Pour chaque valeur du tableau, les inscrire dans la feuille de destination
For Ind = 0 To UBound(TabDon) - 1
' Prochaine ligne vide de la feuille de destination
NLig = ShtD.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
' Inscrire les valeurs
ShtD.Range("A" & NLig).Value = Format(TabDon(0), "mm/dd/yyyy")
ShtD.Range("B" & NLig).Value = TabHeure(Ind)
ShtD.Range("C" & NLig).Value = TabDon(Ind + 1)
Next Ind
Next Lig
End With
End SubA+
mamine a écrit :Bonjour, as-tu essayé en sélectionnant ton tableau, puis clic droit copier, puis clic droit collage spécial : transposé (en bas à droite de la fenêtre) ?
j'ai bien cherché à utiliser transpose mais je n'y arrive pas
Merci BrunoM45
Les valeurs sont dans des cellules différentes
BrunoM45 a écrit :Bonjour Phil974
Si comme je le pense, tes valeurs sont dans la même cellule, voici un code qui va t'être utile
Sub MeF_Données() Dim ShtD As Worksheet Dim DLig As Long, Lig As Long, NLig As Long Dim Inc As Integer, Ind As Integer, TabHeure() As String, TabDon() As String ' Définir la feuille de destination Set ShtD = Sheets("Feuil2") ' Avec la feuille Source With Sheets("Feuil1") ' Créer un tableau des heures TabHeure = Split(.Range("A1").Value, " ") ' Trouver la dernière ligne de la feuille source DLig = .Range("A" & Rows.Count).End(xlUp).Row ' Pour chaque ligne en commençant par la 2ème, la première contenant les heures For Lig = 2 To DLig ' Créer un tableau des données qui sont séparées par un espace TabDon = Split(.Range("A" & Lig).Value, " ") ' Pour chaque valeur du tableau, les inscrire dans la feuille de destination For Ind = 0 To UBound(TabDon) - 1 ' Prochaine ligne vide de la feuille de destination NLig = ShtD.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row ' Inscrire les valeurs ShtD.Range("A" & NLig).Value = Format(TabDon(0), "mm/dd/yyyy") ShtD.Range("B" & NLig).Value = TabHeure(Ind) ShtD.Range("C" & NLig).Value = TabDon(Ind + 1) Next Ind Next Lig End With End SubA+
Re-bonjour,
La marche à suivre est la suivante :
1/ Tu sélectionnes tout ton tableau
2/ Tu fais clic droit avec ta souris, tu sélectionnes "Copier".
3/ Tu cliques dans une cellule vide, tu fais clic droit avec ta souris et tu sélectionnes Collage spécial.
4/ Lorsque tu auras cliqué sur Collage spécial, une fenêtre va s'ouvrir, tu dois cocher "Transposé" en bas à droite de cette fenêtre.
5/ Clique sur OK.
Normalement tu devrais obtenir le résultat que tu recherches.
Re,
phil974 a écrit :Merci BrunoM45
Les valeurs sont dans des cellules différentes
(difficile de le montrer ici)
Ca m'appendra à répondre à un post sans détail explicite
Bonne chance