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 :

Commande enregistrer et déverrouiller ligne suivante [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Technicien labo
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien labo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut Commande enregistrer et déverrouiller ligne suivante
    Bonjour à tous,
    Je travaille dans un laboratoire de contrôle et j'ai mis en place un fichier pour la saisie des résultats de production
    Ce fichier est protégé par un mdp et certaines cellules sont bloquées dont la colonne L.
    J'aimerais mettre en place une commande bouton qui une fois activée sauvegarde le fichier, déverouille la cellule L2 si L1 remplie, colore la cellule A1 en vert par exemple et affiche un message stipulant que l'analyse a bien été sauvegardé.
    Et ainsi de suite sur tout le tableau (pour info nous sommes à la ligne 4763 à l'heure ou j'écris ce message)
    La saisie de cette cellule entraîne, via une autre macro ,l'enregistrement de la date et l'heure de la saisie du résultat.
    Merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour Xavv,

    (Bienvenu sur le Forum)

    As-tu développé un code VBA pour ces actions.
    Retourne-le dans son intégralité et signale les difficultés.

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Xavv62 Voir le message
    J'aimerais mettre en place une commande bouton qui une fois activée sauvegarde le fichier,
    Méthode Save (ou SaveAs si on veut modifier le nom) de Workbook.
    https://docs.microsoft.com/fr-fr/off....workbook.save
    https://docs.microsoft.com/fr-fr/off...orkbook.saveas

    déverouille la cellule L2 si L1 remplie
    Pour déverrouiller une cellule, il faut commencer par lever la protection de la feuille avec la méthode Unprotect de Worksheet.
    https://msdn.microsoft.com/fr-fr/lib...3(v=office.15)
    Puis changer la propriété Locked de la cellule.
    https://msdn.microsoft.com/fr-fr/lib...2(v=office.15)
    Et remettre la protection sur la feuille avec Protect.
    https://msdn.microsoft.com/fr-fr/lib...1(v=office.15)

    Pour vérifier si une cellule est remplie, un simple test If sur son contenu suffit.

    colore la cellule A1 en vert
    Propriété Interior de Range avec Color ou ColorIndex
    https://msdn.microsoft.com/fr-fr/lib...0(v=office.15)

    affiche un message stipulant que l'analyse a bien été sauvegardé.
    Ca dépend où et comment tu veux que ce message s'affiche.
    Si c'est un popup que tu veux, tu peux utiliser la fonction Msgbox.
    https://docs.microsoft.com/fr-fr/off...sgbox-function

    Et ainsi de suite sur tout le tableau
    Faire une boucle For To.
    https://docs.microsoft.com/fr-fr/off...next-statement

    Pour avoir le numéro de la dernière ligne, utiliser la propriété End, de préférence avec le paramètre xlUp.
    https://msdn.microsoft.com/fr-fr/lib...9(v=office.15)

  4. #4
    Membre régulier
    Homme Profil pro
    Technicien labo
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien labo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Merci, je reviens vers vous en espérant y être parvenu.

  5. #5
    Membre régulier
    Homme Profil pro
    Technicien labo
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien labo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Bon je viens d'essayé mais sans réussite,
    Voici la macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Bouton2_Cliquer()
    For i = 1 To 10000
        If Cells(i, 8) <> "" Then
            ActiveWorkbook.Save
            ActiveSheet.Unprotect "mdp"
            Cells(i, 8).Select
            Selection.Locked = False
            Cells(i, 1).Interior.ColorIndex = 6
            ActiveSheet.Protect "mdp"
            MsgBox "Analyse sauvegardé"
        End If
    Next
    End Sub
    D'où viennent les problèmes?

    Merci

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    S'il te plaît, balise ton code (#) et indente-le.
    Retire ces p.. de Select, Activate...

    Ton fichier est sauvegardé à chaque occurrence de ta boucle. Cela ne sert à rien.

    D'où viennent les problèmes?
    Lesquels? (Bug sur quelle ligne, inefficacité...)

  7. #7
    Membre régulier
    Homme Profil pro
    Technicien labo
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien labo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Je ne m'y connais pas en VBA
    J'essaye d'adapter les macros que je trouve en général mais la je sèche

    S'il te plaît, balise ton code (#) et indente-le.
    Retire ces p.. de Select, Activate...
    Je ne comprends pas ce que tu veux au juste

    Je vais essayer de me débrouiller autrement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] Remplissage Userform avec données ligne suivante quand validation avec bouton de commande
    Par lalessivelechat dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 04/04/2018, 08h31
  2. Ajouter un enregistrement dans une table dans la ligne suivante
    Par rouba27 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/12/2017, 13h18
  3. Reporter valeur enregistrement sur plusieurs lignes suivantes
    Par oarnold dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 06/03/2008, 17h52
  4. VBA EXCEL - Sélection d'une ligne suivant saisie
    Par brethomeau dans le forum Macros et VBA Excel
    Réponses: 48
    Dernier message: 15/11/2005, 17h41
  5. TDBGrid - Un enregistrement sur plusieurs lignes
    Par BRODU dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2004, 07h53

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