Vba, excel 2013

Résolu/Fermé
zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016 - 18 août 2015 à 16:37
zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016 - 19 août 2015 à 17:41
Bonjour,
Voila mon probléme:
Je dispose d'une feuille (brut) dans laquelle je récupère des données brut depuis un fichier .csv et d'une feuille (traitement) traitant ces données (calcul de coordonnées dans le temps, etc...).
J'aimerai savoir si il est possible d'enregistré toute les formules de la feuille traitement sous forme de macro, sans avoir a recommencé pour l'enregistreur (prêt de deux heures d'algo à taper et étiré pour obtenir la feuille traitement).
Merci d'avance
Cordialement
A voir également:

5 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
18 août 2015 à 17:33
Bonjour,

sans avoir a recommencé pour l'enregistreur
Pourquoi devez-vous recommencer ?? Normalement les formules ne s'envolent pas
0
zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016
19 août 2015 à 09:26
Bonjour,
Lorsque j'ai produit la feuille "traitement", je ne connaissais pas l'enregistreur. J'aimerai avoir cette feuille sous forme de macro, pour pouvoir l'appliquer sur n'importe quelle feuille "brut". Bien sûr les formules sont toujours présente. J'espère avoir été clair sur mon besoin.
Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016
19 août 2015 à 09:51
Bonjour,

Pour repondre a votre besoin, il faut un fichier csv et votre feuille traitement avec les formules pour voir comment faire
Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
19 août 2015 à 10:06
fichier .csv: https://www.cjoint.com/c/EHth73MTDku (il pourra être de taille variable)
traitement: https://www.cjoint.com/c/EHtibsrYPQu (ce trouve en feuille2)
Mon but serait d'avoir un fichier .xls avec une interface pour importer et appliqué le traitement dans un nouveau classeur, et ensuite mais ça je verrai par moi même, appliquer un traitement spécifique sur certain point sélectionner par l'utilisateur.
(j'ai commencé le vba seulement hier)
Merci pour tous
0
zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016 > zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016
19 août 2015 à 10:07
Si tu pense qu'une autre technologie serait plus adaptés, n'hésite pas à me le signaler
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016
19 août 2015 à 10:24
Re,

Quel excel avez-vous car vous avez mis un fichier .ods au lieu de ....
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
19 août 2015 à 11:24
Bonjour Maurice,

Il y a plus simple pour importer un fichier CSV

Zanzib: fichier pour choix du fichier import fichier CSV et creation classeur avec les infos feuille2 lignes et colonnes suivant format fichier CSV. Pour les points avec traitement particulier, faut voir car peut-etre pas si simple que ca a programmer

https://www.cjoint.com/c/EHtjvxh3Caf
0
zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016
19 août 2015 à 12:34
Excusez moi du temps de réponse, un peu de mal à comprendre vos travaux.

f894009: Ton importation marche un peu prêt bien, excepté pour la feuille2 qui prend #VALEUR! dans toutes les cases.
Création classeur a l'air de fonctionner aussi mais me renvoie l'erreur 1004 avec le deboggeur qui poite sur: ActiveWorkbook.SaveAs Filename:=Chemin & Nom, FileFormat _
:=xlOpenXMLWorkbook, CreateBackup:=False
je suppose que cela vient du chemin.
Par contre il m'ouvre bien un classeur avec le résultat du traitement qui du coup ce retrouve être que des #VALEUR!

Maurice: marche sans problème juste le séparateur qui n'étais pas le bon.

Pour les points particuliers, ca sera de calculé les angles entre 3 points voulu, et extraire des graphiques en fonction du temps

En tous cas merci du temps que vous m'accordez!
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
19 août 2015 à 13:34
Re,

qui prend #VALEUR! dans toutes les cases. Avec quel fichier avez-vous ces resultats, car dans ce que je vous ai mis a dispo ca ne fait pas ca !!!!!!
0
zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016
19 août 2015 à 14:09
En utilisant le fichier traitement.xlsm que vous m'avais fournit.
Les formules sont bien présente dans les cases.
Capture d'écran ci-joint: https://www.cjoint.com/c/EHtmiTD5E7u
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016
Modifié par f894009 le 19/08/2015 à 14:54
Re,

Montrez la feuille1 et le fichier CSV que vous avez utilise

renvoie l'erreur 1004 Adaptez le chemin et le nom du fichier pour enregistrement du fichier


juste le séparateur qui n'étais pas le bon Desole mais Maurice a pris le bon separateur vu le fichier csv que vous avez mis a dispo
0
zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016
19 août 2015 à 15:13
ci-joint capture et fichier CSV: https://www.cjoint.com/c/EHtnlXAzDQu
même résultat en utilisant pendule_01
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > zanzib Messages postés 27 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 16 septembre 2016
Modifié par f894009 le 19/08/2015 à 15:33
Re,

https://www.cjoint.com/c/EHtnDeJw5Yf fait avec "mon" fichier et fichier csv gapennes pas de probleme, une feuille Maurice avec separateur "," d'origine sans probleme d'import !!!!!!!!!! Qu'est ce qui vous a fait dire que le separateur n'etait pas le bon, y en a pas d'autre?
0
Bonjour

Voila un macro pour exporter la feulle2
Sub Macro2()
Application.ScreenUpdating = False
Chemin = ActiveWorkbook.Path
    Sheets(Feuil2.Name).Copy
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:=Chemin & "\TestPendule.xlsx"
    ActiveWorkbook.Close
End Sub

A+
Maurice
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour
voila deja une macro pour importer les csv dans la feuil1
pour les function tu doit avoir des probleme a voir
Private Sub ChoixFicCsv()
Dim dossier As FileDialog
ChoixChemin = ActiveWorkbook.Path & Application.PathSeparator
   Set dossier = Application.FileDialog(msoFileDialogFilePicker)
      With dossier
         .AllowMultiSelect = False
         .InitialFileName = ChoixChemin
         .Title = "Choix d'un fichier Pendule"
         .Filters.Clear
         .Filters.Add "Fichier Csv ", "*.csv", 1
            If .Show = -1 Then
               Chemin = .SelectedItems(1)
               LireTxt Chemin
            End If
      End With
   Set dossier = Nothing
End Sub

Sub LireTxt(NomFichier)
Dim Ar() As String
   With Application
      .ScreenUpdating = False
      .EnableEvents = False
      .Calculation = xlManual
   End With
Feuil1.Select
Cells.Select
Selection.ClearContents
'Sep = vbTab
Sep = ","
Lig = 1
' -----------------------------------------
    Open NomFichier For Input As #1
        Do While Not EOF(1)
            Line Input #1, Chaine
               Ar = Split(Chaine, Sep)
               Col = 1
                  For X = LBound(Ar) To UBound(Ar)
                     Cells(Lig, Col) = Ar(X)
                     Col = Col + 1
                  Next
            Lig = Lig + 1
        Loop
    Close #1
' -----------------------------------------
   With Application
      .ScreenUpdating = True
      .Calculation = xlCalculationAutomatic
      .EnableEvents = True
      .CutCopyMode = False
      .Goto [A1], True
   End With
End Sub

A+
Maurice
-1