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

  • Initiateur de la discussion Initiateur de la discussion Hellhand
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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!
 
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

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.
 
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

Dernière édition:
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

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
 
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:
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
827
Retour