Importer donnée d'une feuille excel pour allimenter base de données

Hellhand

XLDnaute Nouveau
Bonjour à tous,
j'ai un petit soucie je dois allimenter une base de données avec des temps journaliers, qui proviens d'un fichier excel qui me sera transmis toutes les semaines dans un fichier différents mais du même type.
donc dans ce fichier en pièce jointe le nombre de données par jour sont différentes donc je voudrais un total des temps par jour pour les insérer dans une base de données.
j'espère avoir été clair, mais cette tâches est vraiment trop complexe pour moi (débutant vba)
donc si vous pouvez m'éclairer, help me!
 

Pièces jointes

  • temps decoupe modele.xls
    59 KB · Affichages: 68
  • temps decoupe modele.xls
    59 KB · Affichages: 71
  • temps decoupe modele.xls
    59 KB · Affichages: 78

mikachu

XLDnaute Occasionnel
Re : Importer donnée d'une feuille excel pour allimenter base de données

Bonjour,

Aux vues du nombre de visites et du nombre de réponses, il semblerait que ta question ne soit pas très claire.
D'ailleurs, personnellement je n'ai pas compris. Si tu pouvais essayer de réexpliquer

mikachu
 

Hellhand

XLDnaute Nouveau
Re : Importer donnée d'une feuille excel pour allimenter base de données

ok désolé pour la non clarté de ma question!(mais c'est un peu compliqué a expliquer)
alors la feuille excel que j'ai fournis est un récapitulatif des temps de découpe d'une machine automatique, bref à chaque ligne (=tache) et liée un temps pour faire une découpe.
donc selon les jours, les opérations sont plus ou moins importante(nombre de ligne entre les dates) et j'aimerais que pour chaque jour soit faite la somme des temps pour que par la suite je puisse les intégrer à une base de données et bien sur en automatique à l'aide d'un programme vba.
je sais que c'est pas super clair donc désoler!
 

mikachu

XLDnaute Occasionnel
Re : Importer donnée d'une feuille excel pour allimenter base de données

Alors, si j'ai bien compris, tu cherche une macro qui, jour par jour, te calcule le total de temps de coupe.

plusieurs problèmes:

les temps de coupe en colonne c sont considérés comme des textes. la première partie de la macro s'occupe de les remettre en chiffre.
En colonne C, certaines saisies n'ont pas la bonne forme ou sont simplement des #valeur. j'ai du les ignorer dans mon calcul.

je suis parti du principe que le tableau aurait toujours la même forme (avec le "count" et le nombre de saisie à la fin de chaque jour.
c'est important parce que je considère que le jour est terminé lorsqu'il y a "count"
La macro inscrit le total dans la colonne R

le mieux c'est que tu regardes par toi même
 

Pièces jointes

  • Copie de temps decoupe modele(1).xls
    74 KB · Affichages: 88
  • Copie de temps decoupe modele(1).xls
    74 KB · Affichages: 88
  • Copie de temps decoupe modele(1).xls
    74 KB · Affichages: 80

Hellhand

XLDnaute Nouveau
Re : Importer donnée d'une feuille excel pour allimenter base de données

bonjour mikachu,

alors je voulais te remercier pour le temps et les efforts que tu as passé sur mon problème, c'est exactement ce que je voulais, encore merci.

Cordialement,

Hellhand.
 

Hellhand

XLDnaute Nouveau
Re : Importer donnée d'une feuille excel pour allimenter base de données

Bonjour Mikachu,

Je viens de reprendre le travail sur mon problème et j'ai quelques difficultées avec ce fichier excel.
J'aimerais pouvoir reprendre la sommes des temps par jours colonne R et les envoyer dans un autre fichier excel pour remplir un tableau en fonction des jours.
j'arrive à les envoyer dans le fichier voulu mais je n'arrive pas a situer à quel ligne sont les lignes des résultats
exemple en pièce joint.

et j'aimerais aussi sans abuser savoir comment faire pour mettre à coté du résultat "problème" si dans le jour il trouve une valeur erronée.

Cordialement,

hellhand.
 

Pièces jointes

  • Copie de temps decoupe modele(1).xls
    66 KB · Affichages: 51
  • Copie de temps decoupe modele(1).xls
    66 KB · Affichages: 53
  • Copie de temps decoupe modele(1).xls
    66 KB · Affichages: 54
Dernière édition:

Hellhand

XLDnaute Nouveau
Re : Importer donnée d'une feuille excel pour allimenter base de données

bonjour, je viens de résoudre mon problème pour importer les données mais je ne sais pas comment faire pour afficher le message "problème" à coté de la somme des temps par jour si il trouve une donnée qui n'est pas du temps comme "#####" ou " -373260:-37:-31".

help me

Cordialement.
 

Pièces jointes

  • Copie de temps decoupe modele(1).xls
    66.5 KB · Affichages: 59
  • Copie de temps decoupe modele(1).xls
    66.5 KB · Affichages: 56
  • Copie de temps decoupe modele(1).xls
    66.5 KB · Affichages: 53

mikachu

XLDnaute Occasionnel
Re : Importer donnée d'une feuille excel pour allimenter base de données

Bonjour,

J'ai modifié la macro pour afficher le nombre de problèmes.
j'ai mis en commentaire 'new à chaque nouvelle ligne pour te repérer
 

Pièces jointes

  • Copie de temps decoupe modele(2).xls
    67.5 KB · Affichages: 55

Hellhand

XLDnaute Nouveau
Re : Importer donnée d'une feuille excel pour allimenter base de données

Re désolé de te redemander encore des conseils, mais j'ai un petit soucie avec mon programme.
mon programme marche très bien mais il est en mode TROMBINOSCOPE ce qui n'est pas top
donc j'aurais aimé savoir comment le réduire, surtout pour la partie ou je déplace les données vers un autre fichier excel j'ai utilisé pour faire le déplacement un filtre automatique mais je sais que c'est pas la meilleur méthode donc si tu pouvais m'éclairer!

Cordialement.

Code:
Dim compte
Dim compte1
Dim i
Dim j


Sub TextToNumber()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open("E:\sem20-25.xls")
 Windows("sem20-25.xls").Activate
Set ws = wb.Worksheets(1)
Dim nbprobleme As Integer 'new
nbprobleme = 0 'new
With Sheets("MachineInfoCnc")
c = Range("C65536").End(xlUp).Row

Range("C15:C" & c).Select
    Selection.TextToColumns Destination:=Range("C15"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
End With

compte = 0

i = Range("C65536").End(xlUp).Row + 1
j = 0
'MsgBox i
For Each rw In Sheets("MachineInfoCnc").Rows
j = j + 1
'MsgBox j
If j = i Then Exit Sub
If j < 14 Then GoTo line1
If IsNumeric(rw.Cells(1, 3)) Then
    If rw.Cells(1, 3).NumberFormat = "h:mm:ss" Then
        compte1 = rw.Cells(1, 3).Value
        compte = compte1 + compte
    End If
Else
    nbprobleme = nbprobleme + 1 'new
    GoTo line1
End If

If rw.Cells(1, 2).Value = "Count" Then
    rw.Cells(1, 18).Value = compte
    rw.Cells(1, 18).NumberFormat = "h:mm:ss"
    If nbprobleme > 0 Then rw.Cells(1, 19).Value = nbprobleme & " problème(s)" 'new
    compte = 0
    nbprobleme = 0 'new
    
     'Windows("sem20-25.xls").Activate
    'Columns("R:R").Select

    'Selection.AutoFilter Field:=1, Criteria1:="10", Operator:=xlTop10Items
    'Columns("R:S").Copy
    'Windows("Découpe plasma.xls").Activate
    'Columns("K:K").Select
    'ActiveSheet.Paste
    'Range("K2:L6").Select
    'Application.CutCopyMode = False
    'Selection.Copy
    'Range("C53").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True

    'Windows("sem20-25.xls").Activate
    'Selection.AutoFilter Field:=1
    'Rows("10:10").Select
    'Application.CutCopyMode = False
    'Selection.Delete Shift:=xlUp
    'Rows("11:11").Select
    'Selection.Delete Shift:=xlUp
    'Windows("Découpe plasma.xls").Activate
    'Sheets("fiche de saisie").Range("K2:L5").Delete
    'Application.CutCopyMode = False
  
End If

line1:
Next rw

End Sub
 

mikachu

XLDnaute Occasionnel
Re : Importer donnée d'une feuille excel pour allimenter base de données

Sais-tu à quel endroit exactement la macro passe en mode stromboscope ? (et pas trombinoscope ;))

edit: au passage, si tu pouvais envoyer les deux fichiers (ton fichier temps de découpe et le fichier sem20-25.xls)
Edit2: A quoi sert le morceau de code mis en commentaire ?
 
Dernière édition:

Hellhand

XLDnaute Nouveau
Re : Importer donnée d'une feuille excel pour allimenter base de données

ok, merci encore pour t'on aide. la partie de mon programme qui passe en mode "stromboscope" :)rolleyes:)' c'est justement la fin de mon programme qui est mis en commentaire. je t'envoie les fichiers tu as juste a changer les chemins d'accès des fichiers pour le tester, programme en module 3 sur test.
 

Pièces jointes

  • test1.xls
    20.5 KB · Affichages: 58
  • test.xls
    134.5 KB · Affichages: 55
  • test1.xls
    20.5 KB · Affichages: 63
  • test.xls
    134.5 KB · Affichages: 63
  • test1.xls
    20.5 KB · Affichages: 62
  • test.xls
    134.5 KB · Affichages: 61

Discussions similaires

Statistiques des forums

Discussions
312 499
Messages
2 089 002
Membres
104 002
dernier inscrit
SkrauzTTV