Gestion de parc

Bonjour

Premièrement je suis nouveau dans ce domaine.

je désire créer une application pour gérer un Park

j'ai essayé de créer une application Excel, mais j'ai rencontré des problèmes au niveau du code.

mon fichier se compose de trois feuilles; login, Base et t_bord.

je veux travailler sur la feuille t_bord, les données seront enregistrés au niveau de la feuille base.

la feuille t_bord contient des cellules comme des zones de textes dont les données proviennent de la feuille base ou enregistrer dans cette derniere.

et des boutons de commandes.

voila mon fichier gestion

23gestion.xlsm (21.51 Ko)

dans l'attente de votre aide.merci

Bonjour,

Ceci:

le code

Option Explicit

Sub Ajouter()
    On Error Resume Next
    Dim last, cl1, io, clr As Integer
    Dim ws, tb As Worksheet

    Set ws = Worksheets("Base")
    Set tb = Worksheets("T_Bord")
    last = ws.Range("A" & Rows.Count).End(xlUp).Row + 1

    For cl1 = 1 To 6
        For io = 3 To 13 Step 2
            ws.Cells(last, cl1).Value = tb.Cells(io, "f").Value
            cl1 = cl1 + 1
        Next io
    Next
    ws.Cells(last, "G").Value = ws.Cells(last, "D").Value * ws.Cells(last, "E").Value
    For clr = 3 To 13 Step 2
        tb.Cells(clr, "f").Value = ""
    Next clr
    MsgBox ("Enregistrement Parfait")
    Set ws = Nothing
    Set tb = Nothing
End Sub

J'ai affecté la macro "Ajouter" au bouton idoine beaucoup plus parlant que "Bouton_clic",

Cdlt

merci cordialement. le bouton Ajout fonctionne bien

maintenant j'ai ajouté le code recherche, mais il ne fonctionne pas.

veguillez m'aider SVP

merci

20gestion1.xlsm (23.50 Ko)

Bonjour,

Ceci:

Sub Chercher()
    Dim rng1 As Range
    Dim str_search As String
    Dim row_number As Long
    Dim ws As Worksheet, tb As Worksheet

    Application.ScreenUpdating = False
    Set ws = Worksheets("Base")
    Set tb = Worksheets("T_Bord")
    str_search = tb.Range("F3").Value

    With ws.Columns(1)
        Set rng1 = .Find(str_search, lookat:=xlWhole)
        If Not rng1 Is Nothing Then
            tb.Range("F5").Value = ws.Range("B" & rng1.Row).Value
            tb.Range("F7").Value = ws.Range("C" & rng1.Row).Value
            tb.Range("F9").Value = ws.Range("D" & rng1.Row).Value
            tb.Range("F11").Value = ws.Range("E" & rng1.Row).Value
            tb.Range("F13").Value = ws.Range("F" & rng1.Row).Value
        Else
            MsgBox str_search & "Not Found"
        End If
    End With

    'Libération de la mémoire
    Set ws = Nothing
    Set tb = Nothing
    Set rng1 = Nothing
End Sub

Cdlt

Merci pour votre intervention. Mais le Bouton Chercher ne fonctionne pas.

Merci pour votre intervention. Mais le Bouton Chercher ne fonctionne pas.

Ah bon! pourtant:

imfami

ok Merci

sa marche bien

Merci infiniment

salut tous le monde

SVP je desire au niveau de la feuille Base que:

les cellules J5 et J7 seront remplisses a partir de I3 et I4

et que la cellule I7 porte le max de kilométrage de véhicule (cellule I2) entre les dates de début et de fin (cellules I3 et I4)

et tout cela sera paramétré par la commande chercher au niveau de la colonne I de la feuille T_Bord.

Merci

15imfami.zip (15.74 Ko)

Bonjour,

C'est pas clair, sur la feuille T_Bord en I3, on saisie le N° de véhicule, et à partir de là, on clique sur "Chercher".

D'après ce que j'ai compris:

-les cellules du tableau en I5:I13 de T_Bord doivent se remplir, avec les données trouver dans le tableau en A1:G7 de la Base et les restituer ensuite dans le tableau en I2:I7 de la Base, c'est bien ça?

Si c'est le cas pourquoi recopier dans le tableau en I2:I7 de la Base?, autant mettre directement les formules dans ce tableau.

Cdlt

salut tous le monde du forum

concernant les observations mentionnées en haut

Pour plus dd clarté , j'ai ajouté des commentaires au niveau des cellules J5 , J6 et J7 de la feuille "base"

et au niveau de la feuille ""T_Bord" j'introduit les données dans les cellules suivantes: I3 , I5 et I7 qui seront transférées automatiquement dans les cellulesJ5 , J6 et J7 de la feuille "Base".

Alors que les données des cellules I9 , I11 et I13 de la feuille ""T_Bord" seront remplies à partir des cellules J5 , J6 et J7 de la feuille "Base".

voir fichier ci joint . Merci

Bonsoir,

Donc j'ai fait l'inverse, dans ce cas il suffit de recopier les formules de la feuille "T_Bord" sur les cellules de la feuilles "Base".

Mais j'en reviens à dire: Quel est l'intérêt d'avoir 2 fois la même chose?

CDlt

Bonsoir

l'interet est de voir la quantité consommée par une véhicule en comparaison avec le kilométrage au cours d'une période donnée.

quelque soit la période ;hebdomadaire , mensuelle , trimestrielle ,semestrielle et c ...

pour cela je cherche à programmer le bouton "chercher" afin d'avoir une recherche automatique et précis.

merci

Bonjour,

l'interet est de voir la quantité consommée par une véhicule en comparaison avec le kilométrage au cours d'une période donnée.

quelque soit la période ;hebdomadaire , mensuelle , trimestrielle ,semestrielle et c ...

pour cela je cherche à programmer le bouton "chercher" afin d'avoir une recherche automatique et précis.

merci

Inutile de cliquer sr le bouton "Chercher", si vous choisissez le N° de véhicule en I3, la date de début et de fin en I5 et I7, alors :

Formule en I9:

=SOMME.SI.ENS(Base!$D:$D;Base!$A:$A;$I$3;Base!$B:$B;">="&$I$5;Base!$B:$B;"<="&$I$7)

Formule en I11:

=SOMME.SI.ENS(Base!$G:$G;Base!$A:$A;$I$3;Base!$B:$B;">="&$I$5;Base!$B:$B;"<="&$I$7)

et formule en I13 (attention, formule matricielle, à valider avec CTRL + SHIFT + ENTREE)

=MAX(SI(Base!$A:$A=$I$3;Base!$C:$C))

Cdlt

Bonjour

Merci Pour votre intervention

Mais au niveau de la cellule I11 de la feuille "T_Bord" je désire avoir le max de kilométrage du véhicule "a"" pendant la période déterminée entre la Date de Début "cellule I5" et la Date de Fin "cellule I7"

et non pas le max de la colonne "c:c" de la feuille "Base"

cdt

OK! alors la formule en I13 devient:

=INDEX(Base!$A$1:$G$8;EQUIV(1;(Base!$B:$B>=$I$5)*(Base!$B:$B<=$I$7)*(Base!$A:$A=$I$3);0);3)

Formule matricielle, à valider avec CTRL + SHIFT + ENTREE

Cdlt

bonjour

Merci infiniment, Mais sa marche pas.

cdt

sa marche pas.

ça marche pas ne me dit pas qu'est-ce qui ne va pas. Que faites vous comme action?

Moi, je pars du principe que sur la feuille T_Bord, vous saisissez le N°de véhicule en I3, les dates de début et de fin en I5 et I7, les formules vous renvoient les valeurs recherchées. En comparant vos résultats avec le fichier joint le fichier, constatez-vous des écarts?

bonjour;

au niveau de la feuille "T_Bord" les cellules I3 , I5 , I7 , I9, I11 fonctionnent correctement , mais la cellule I13 ne fonctionne pas .

normalement au niveau de I13 on doit avoir le dernier kilométrage du véhicule indiqué en I3 , au cours de la période comprise entre la date de début " I5" et la date de fin "I7".

c'est à dire que la cellule I13 dépond des cellules I3 , I5 et I7.

cdt

Mille excuses, je me suis trompé de formule, en I13:

=MAX(SI((Base!$A:$A=$I$3)*(Base!B:B>=$I$5)*(Base!B:B<=$I$7);Base!$C:$C))

Toujour à valider avec CTRL + SHIFT + ENTREE

Cdlt

je m'excuse la cellule I13 sa marche pas.

voir fichier ci joint

Merci

cdt

18imfami1.zip (17.11 Ko)
Rechercher des sujets similaires à "gestion parc"