IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Base de données sous Excel - afficher et modifier une ligne


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    ouvrier bidouilleur
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : ouvrier bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Par défaut Base de données sous Excel - afficher et modifier une ligne
    Bonjour à tous et tout d'abord merci d'avance pour votre aide si précieuse.

    je suis à la base un développeur du dimanche qui cherche à améliorer le quotidien d'une amie secrétaire en automatisant une de ses taches quotidienne.

    aujourd'hui en gros elle créée un fichier word à chaque fiche qu'elle récupère une fiche fin de chantier. j'essai de tout lui centraliser sur excel car elle n'a pas la chance de posséder ACCESS .
    en bon samaritain je me suis proposé de l'aider mais la je sèche.

    Jusqu'à la j'ai réussi à lui enregistrer ses fiches et stocker sur une page excel. maintenant je suis bloqué sur rappeler une fiche et pouvoir lui apporter des modifications. Attention tout ce que je fais c'est de la bidouille (ça à l'air de fonctionner comme ça )

    Voila je vous appel à l'aide pour m'aider ou m'aiguiller ou même optimiser ce que j'ai déjà pu faire .

    je vous mets en pj mon ficher excel et vous remercie par avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Quelques conseils pour commencer, la partie recherche, je la verrai plutôt comme ça afin de gérer les éventuelles mauvaises saisies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    Sub rechercher()
     
        Dim numconstat
        Dim Sep As String
     
        'séparateur décimal
        Sep = Format(0, ".")
     
        numconstat = InputBox("Entrer numéro d'avis")
     
        If numconstat = "" Then MsgBox "Abandon !": Exit Sub
        If Not IsNumeric(numconstat) Then MsgBox "Seulement numérique !": Exit Sub
        If InStr(numconstat, Sep) <> 0 Then MsgBox "Seulement un nombre entier !": Exit Sub
     
        With Sheets("affichermodifier")
     
            .Visible = True
            .Select
            .Range("I3") = CLng(numconstat)
            '...la suite !
     
        End With
     
    End Sub
    Je suis assez adepte des lignes vides entre certaines instructions pour une lecture plus facile (enfin, pour moi bien sûr, beaucoup préfèrent que les lignes soient toutes collées les unes au autres) mais là, c'est trop à mon goût :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    Sub Essai()
      Dim dlig As Long
      Sheets("base de données").Select
      dlig = Range("B" & Rows.Count).End(xlUp).Row
      'MsgBox dlig
      Range("b" & dlig + 1).Select
     
     
     
    Dim lig As Long, x As Range
     
    Dim xad As String
     
     
     
     
     
        If .Range("i3") = "" Then Exit Sub
     
     
     
     
     
     
     
        'recherche la valeur de C5 dans la 1ère colonne de la base
     
        Set x = .Range("C14:C" & lig).Find(Range("C5"), , xlValues, xlWhole, , , False)
     
        'Si trouvé
     
        If Not x Is Nothing Then
     
            ' on copie la ligne trouvée sur la ligne 5 (copie des valeurs seulement)
     
             xad = x.Row
     
            .Range("C" & xad & ":I" & xad).Copy
     
            .Range("C5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
     
            'Vide le presse papier
     
            Application.CutCopyMode = False
     
     
     
        Else
     
            'si pas trouvé:
     
            MsgBox "ce code n'existe pas vous pouvez le créer"
     
        End If
     
    End With
     
     
     
    End Sub
    Après, l'utilisation d'une multitude de modules n'est pas nécessaire dans une application assez simple, là, 4 c'est déjà 2 de trop
    Dans tes instructions, évites tout ce qui est Select et Activate, ça fait scintiller l'écran et c'est très souvent totalement inutile, d'ailleurs, si tu regardes les codes postés par les intervenants, assez peu ont ses instructions

    Je vais continuer sur ton classeur quand j'aurai un moment !

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    ouvrier bidouilleur
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : ouvrier bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Par défaut
    Merci theze de te pencher sur mon classeur

    pour info sub essai est juste un bout de code que j'ai trouvé sur un forum et que j'ai essayé d'adapter mais je ne l'ai pas mis en service car j'ai pas tout compris.

    après comme dis dans mon premier message je suis vraiment qu' un bidouilleur et quad je lis ton code désolé mais j'y comprends pas grand chose, désolé de mon inexpérience

Discussions similaires

  1. [XL-2002] Base de donnés sous Excel
    Par sergio_gr66 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/05/2009, 15h33
  2. programmation base de données sous excel
    Par carosempe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/01/2008, 16h06
  3. base de données sous excel 2002
    Par Cécile31 dans le forum Excel
    Réponses: 1
    Dernier message: 30/10/2007, 17h03
  4. Petite base de donnée sous excel
    Par Denti-fritz dans le forum Excel
    Réponses: 2
    Dernier message: 22/06/2007, 16h21
  5. base de donnée sous excel: effacer les données
    Par eseb777 dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 03/05/2007, 09h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo