Exporter des données
Résolu
djpolaubri
Messages postés
56
Statut
Membre
-
Zoul67 Messages postés 2001 Statut Membre -
Zoul67 Messages postés 2001 Statut Membre -
Bonjour a tous,
dans le cadre d'un laboratoire de physique, j'ai du effectuer une série de mesures (plusieurs fois une centaine de mesures) et je dois les analyser.
notamment j'ai besoin de savoir le nombre d'itération de chaque valeurs.
c'est à dire si j'ai une colonne excel :
0
1
0
2
1
j'aimerais récupérer le fait que j'ai deux fois 0, deux fois 1 et une fois 2.
d'après mon titulaire, ce n'est pas possible directement sur excel.
je voudrais donc écrire un petit programme python pour le faire, mais pour cela j'ai besoin que mes données soient en une lignes, donc que avec la colonne :
0
1
0
2
1
j'obtienne : 0,1,0,2,1
savez vous comment faire ?
Merci beaucoup de votre attention,
Djpolaubri
dans le cadre d'un laboratoire de physique, j'ai du effectuer une série de mesures (plusieurs fois une centaine de mesures) et je dois les analyser.
notamment j'ai besoin de savoir le nombre d'itération de chaque valeurs.
c'est à dire si j'ai une colonne excel :
0
1
0
2
1
j'aimerais récupérer le fait que j'ai deux fois 0, deux fois 1 et une fois 2.
d'après mon titulaire, ce n'est pas possible directement sur excel.
je voudrais donc écrire un petit programme python pour le faire, mais pour cela j'ai besoin que mes données soient en une lignes, donc que avec la colonne :
0
1
0
2
1
j'obtienne : 0,1,0,2,1
savez vous comment faire ?
Merci beaucoup de votre attention,
Djpolaubri
A voir également:
- Exporter des données
- Fuite données maif - Guide
- Exporter favoris chrome - Guide
- Trier des données excel - Guide
- Exporter conversation sms android - Guide
- Exporter favoris firefox - Guide
2 réponses
Bonjour,
Vous direz à votre titulaire d'arrêter de dire que ce n'est pas possible quand on ne le sait pas. C'est une programme assez simple à coder en VBA.
Petite question, est-ce que ces valeurs ne seront toujours que 1 et 2?
Cordialement.
Vous direz à votre titulaire d'arrêter de dire que ce n'est pas possible quand on ne le sait pas. C'est une programme assez simple à coder en VBA.
Petite question, est-ce que ces valeurs ne seront toujours que 1 et 2?
Cordialement.
Bonjour,
Pour obtenir ta liste, je vois deux méthodes :
- soit tu copie tes données, colles la transposée et enregistres en csv
- soit tu utilises la fonction concatener (en B2 =CONCATENER (B1;",";A2))
Mais je rejoins Kuartz, ce que tu décris est tout à fait possible avec Excel. Si c'est la séquence 0-->1-->0-->2-->1 qui t'intéresse avec concaténation de 5 valeurs successives puis comparaison à la valeur 01021. Si l'ordre n'importe pas, avec CONCATENER et GRANDE.VALEUR.
A+
Pour obtenir ta liste, je vois deux méthodes :
- soit tu copie tes données, colles la transposée et enregistres en csv
- soit tu utilises la fonction concatener (en B2 =CONCATENER (B1;",";A2))
Mais je rejoins Kuartz, ce que tu décris est tout à fait possible avec Excel. Si c'est la séquence 0-->1-->0-->2-->1 qui t'intéresse avec concaténation de 5 valeurs successives puis comparaison à la valeur 01021. Si l'ordre n'importe pas, avec CONCATENER et GRANDE.VALEUR.
A+
Affichez l'onglet développeur dans le ruban d'excel : https://support.microsoft.com/fr-fr/office/afficher-l-onglet-d%c3%a9veloppeur-e1192344-5e56-4d45-931b-e5fd9bea2d45?correlationid=fbd948ff-b882-4879-8304-4ac4bf74b21d&ui=fr-fr&rs=fr-fr&ad=fr
Cliquez sur Développeur puis Visual Basic.
Faire un clic droit sur "Microsoft Excel Objects" dans le panneau de gauche.
Cliquez sur "Insertion -> Module"
Double cliquez sur "Module 1".
Copiez/Collez le code suivant dans la fenêtre de droite (grand carré blanc) :
Quittez l'éditeur visual basic (croix rouge)
Sur votre fichier excel, il suffit d'aller dans "Développeur" puis dans Macros, cliquez sur "ITERATIONS" et cliquez sur "Exécuter".
Enregistrez le fichier que vous pourrez réutiliser à chaque fois.
N'oubliez pas simplement de modifier le code en fonction de vos besoins (les commentaires sont là pour ça).
PS : Le code ne marche que pour 0, 1 et 2. Je me penche dessus pour le rendre universel.
Cordialement.
Cliquez sur Développeur puis Visual Basic.
Faire un clic droit sur "Microsoft Excel Objects" dans le panneau de gauche.
Cliquez sur "Insertion -> Module"
Double cliquez sur "Module 1".
Copiez/Collez le code suivant dans la fenêtre de droite (grand carré blanc) :
Sub ITERATIONS() Dim DL As Long, NOMBRE0 As Long, NOMBRE1 As Long, NOMBRE2 As Long DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'Définit la dernière ligne du tableau, mettre la colonne la plus remplie (1 = A) For i = 1 To DL If Range("A" & i).Value = 0 Then 'Si les valeurs sont en A NOMBRE0 = NOMBRE0 + 1 End If If Range("A" & i).Value = 1 Then 'Si les valeurs sont en A NOMBRE1 = NOMBRE1 + 1 End If If Range("A" & i).Value = 2 Then 'Si les valeurs sont en A NOMBRE2 = NOMBRE2 + 1 End If Next i MsgBox ("Résultats :" & vbLf & vbLf & "- Nombre de <0> : " & NOMBRE0 & vbLf & vbLf & "- Nombre de <1> : " & NOMBRE1 & vbLf & vbLf & "- Nombre de <2> : " & NOMBRE2) End Sub
Quittez l'éditeur visual basic (croix rouge)
Sur votre fichier excel, il suffit d'aller dans "Développeur" puis dans Macros, cliquez sur "ITERATIONS" et cliquez sur "Exécuter".
Enregistrez le fichier que vous pourrez réutiliser à chaque fois.
N'oubliez pas simplement de modifier le code en fonction de vos besoins (les commentaires sont là pour ça).
PS : Le code ne marche que pour 0, 1 et 2. Je me penche dessus pour le rendre universel.
Cordialement.
Ah mais j'ai mal lu... je croyais vraiment qu'on cherchait quelque chose de compliqué (si la séquence se reproduit).
Un tableau croisé dynamique suffit.
cf. https://www.cjoint.com/c/EJgnKdoaFgJ
Un tableau croisé dynamique suffit.
cf. https://www.cjoint.com/c/EJgnKdoaFgJ
pas que 1 et 2, mais toujours des naturels