Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2012, 17h18   #1
Invité de passage
 
Inscription : juin 2007
Messages : 27
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 27
Points : 0
Points : 0
Par défaut centrer un signal sur 0

Bonjour,

Est-il possible si mon signal est périodique mais décentré, de le centré sur 0 via un code VB?

Merci à vs.
docjam71 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 23/01/2012, 17h24   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 952
Points : 30 952
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Un exemple serait plus parlant.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 18h25   #3
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut

Quand tu dis décentré, tu veux dire que ton signale périodique contient une composante continue que tu veux supprimer?

Comment sont stockées les valeurs? Comme le dit Philippe J.(que je salut) un exemple s'impose .

++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 11h27   #4
Invité de passage
 
Inscription : juin 2007
Messages : 27
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 27
Points : 0
Points : 0
Bonjour,

Oui, mon signal contient une composante continue généralement négative que je corrige avec la droite de régression linéaire!

Si un code VB peut me régénérer le Y corrigé en calculant la valeur moyenne du signal ce serait plus rapide et plus efficace!

Merci.

Exemple ci-joint!
docjam71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 18h31   #5
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut

Ta question dépasse certainement le champs de mes compétences, mais la suppression d'un composante continue dans un signal ne modifie pas sa fréquence, hors dans l'exemple que tu donnes 2 signaux qui n'ont plus rien à voir l'un avec l'autre. une composante continue modifie la position du signal par rapport à l'axe des ordonnées en faisant glisser la représentation du signal sur l'axe des abscisses.

Tu pars de quoi exactement? Tu pars de la liste de valeurs contenu en feuille5 je suppose, le fait de retiré ta composante continue des valeurs d'abscisse me semble correct, quel est le problème?

++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 15h12   #6
Invité de passage
 
Inscription : juin 2007
Messages : 27
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 27
Points : 0
Points : 0
Bjr,

De toute manière ce n'est ni la fréquence qui m'intéresse ni la qualité du signal. Il me faut simplement une lecture efficace du max et du min après avoir recentré le signal à 0.

Les valeurs brutes comme vous le constaté sont décalées en Y! ma question était de savoir s'il y avait un moyen de codé un programme pour remplacer ma manière de faire (manuellement avec droite de régression). Ce serait simplement plus rapide et plus efficace.

Bref, je ne sais pas si je suis clair!

Merci
docjam71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 18h11   #7
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut
A force de regarder ton schéma j'ai compris.
En fait, tu fait le 1er graphique en fonction des données fournis en colonne A et B.
Dans ce graphique tu affiches la droite de régression, sui te permet de déterminer la composante continue de ton signal, puis en suite tu applique cette valeur aux données contenu en colonne B pour créer la colonne C et ainsi générer le 2ème graphique qui décale donc ton signal en prenant en compte les valeur des colonnes A et C.

Donc ton but et de fournir les points (colonne A et B) et d'obtenir
*La valeur de la composante continue
*et le graphique corrigé

C'est juste?

[Edit]
Vu que je suis un peu prétentieux, je vais dire que c'est juste
Alors pour le calcul de ton ordonné à l'origine
Code :
=INDEX(DROITEREG(B2:B6001);2)
Ensuite il suffit ensuite d'utiliser ce résultat pour le calcul de ta série en colonne C.
[/Edit]

++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 10h20   #8
Invité de passage
 
Inscription : juin 2007
Messages : 27
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 27
Points : 0
Points : 0
C'est tout à fait cela,

J'aurais du expliquer ce que j'ai fais, dslé!

Par contre ne peut-on pas générer directement une colonne Y corrigé?

Merci!
docjam71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 17h58   #9
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut
Dans dans quel support les points d'origines sont ils stockés?
C'est toi qui les colle directement dans la colonne A et B, ou sont-ils dans un fichier?

sinon pour générer la colonne C, il te suffit de mettre une formule, par exemple dans la cellule C2
Dans la cellule F1, tu as la formule qui te permet d'obtenir l'ordonnée à l'origine de ta droite de régression.
Il suffit juste de développer la formule sur la colonne.
On peut même imaginer de laisser les formule à demeure sur un très grand nombre de lignes et de n'afficher un résultat que s'il y a un contenu dans la cellule de la colonne A, tu aurait alors une formule de ce genre
Code :
=Si($A2="";"";$B2 - $F$1)
Il est bien sur possible de faire une macro mais dans ce cas, il serait intéressant de voir les réponses aux questions de début de message.

[Edit]
Je viens de voir que tu utilises Excel 2010, je viens de tester un truc avec les tableaux (Insersion Tableau), Si tu places une formule dans une des colonnes, celle-ci est automatiquement étendu à l’ensemble des données que tu ajoutes dans le tableau, j'attend de voir tes réponses pour voir si c'est applicable et je rajoute celle-ci.
Si tu ajoutes tes données avec un copier coller, est-ce que les résultat sont enregistré tel quel dans le fichier, puis doivent être effacé lorsque tu veux coller une nouvelle série? ou est-ce que tu parts a chaque fois d'un fichier vierge (un Modèle par exemple)?
[/Edit]

++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 09h12   #10
Invité de passage
 
Inscription : juin 2007
Messages : 27
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 27
Points : 0
Points : 0
Bonjour,

Alors les données sont stockées dans un fichier .txt, je fais un copier coller et ce sont les valeurs dans la colonne A et B!

Ensuite je trace la courbe, régression linéaire, je corrige la colonne B en C avec l'ordonné à l'origine et je retrace la courbe A avc C!

Voilà, je voulais savoir si avec uniquement les valeurs en A et B, je pouvais générer la colonne C via un code VB sans tracer les courbes?

Merci!
docjam71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 17h46   #11
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut
Place un exemple de fichier Txt stp.
++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h28   #12
Invité de passage
 
Inscription : juin 2007
Messages : 27
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 27
Points : 0
Points : 0
Slt,

En réalité le fichier de base n'a pas d'extension, je peux l'ouvrir directement avec Excel par exemple!

Ci-joint fichier. (enlève l'extension .RAR)


Thks!
Fichiers attachés
Type de fichier : rar Excentré0.rar (82,0 Ko, 4 affichages)
docjam71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 15h43   #13
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut
Fait un essai en utilisant ce code.
Avec ça tu peux sélectionner plusieurs fichiers d'un coup, un nouveau fichier sera créé pour chacun d'eux, avec les valeurs modifiées

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Private Sub CommandButton1_Click()
 
Dim iFile As Integer
Dim NewBook As Workbook
Dim OrdOrigine As Double
Dim Tab_Value
Dim iCell As Long
 
 
    'On affiche une fenetre de recherche de fichier
    With Application.FileDialog(msoFileDialogOpen)
        'On limite la recherche aux fichiers ayant une extension précise
        '.Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1
        'Possibilité de selectionner plusieurs fichiers à modifier
        .AllowMultiSelect = True
        'Affiche le fenêtre de recherche
        .Show
 
        'On passe ensuite les fichiers selectionnés
        For iFile = 1 To .SelectedItems.Count
 
            'On ouvre le fichier
            Workbooks.OpenText .SelectedItems.Item(iFile), Origin:=xlMSDOS, DataType:=xlDelimited, Tab:=True
            'On pointe le nouveau document créé (OpenText ne le renvoie pas...)
            Set NewBook = ActiveWorkbook
 
            'On prend en compte la colonne contenant les données à modifier
            With NewBook.ActiveSheet
                With .Range("B1", .Cells(.Rows.Count, "B").End(xlUp))
                    'On calcul l'ordonnée à l'origine
                    OrdOrigine = WorksheetFunction.LinEst(.Cells, .Cells.Offset(0, -1))(2)
                    'On place les valeur dans un tableau (plus rapide)
                    Tab_Value = .Cells.Value
                    'On boucle sur l'enssemble des cellules et on applique la correction
                    For iCell = 1 To .Cells.Count - 1
                        Tab_Value(iCell, 1) = Tab_Value(iCell, 1) - OrdOrigine
                    Next
                    'On place les valeurs corrigées
                    .Cells.Value = Tab_Value
                End With
            End With
 
            'On enregistre le fichier et on ferme
            NewBook.Close True, NewBook.Path & "\" & NewBook.Name & " Modifié"
        Next
 
    End With
 
End Sub
++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 11h04   #14
Invité de passage
 
Inscription : juin 2007
Messages : 27
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 27
Points : 0
Points : 0
Slt!

C'est vraiment bien!

Par contre dans le cas ou je voudrais encadrer ma moyenne (par exemple à partir de la ligne 301 jusqu'à la ligne 3001) comment puis-je modifier le programme?

Merci
docjam71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h14.


 
 
 
 
Partenaires

Hébergement Web