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

  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

  8. #8
    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,

    Je ne comprends pas ce que tu veux au juste
    Pour baliser le code, tu le sélectionnes dans son intégralité et tu cliques sur l'icône #

    Indenter un code signifie mettre en retrait les lignes comprises dans un bloc.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For x = 1 to derlign
    Debug.Print .Cells(x,3).Value
    ....
    Next x
    devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For x = 1 to derlign
          Debug.Print .Cells(x,3).Value
          ....
    Next x
    Tu ne précise pas le problème et tu places cette discusion en mode résolu

    A toute fin utile, reporte-toi au post #20 de cette discussion

  9. #9
    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
    Voila c'est surement mieux comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Bouton2_Cliquer()
    For i = 1 To 5
      If Cells(i, 12) = "" Then
            ActiveWorkbook.Save
            ActiveSheet.Unprotect
            Worksheets("Feuil1").Cells(2, 12).Locked = False
            Worksheets("Feuil1").Cells(1, 1).Interior.ColorIndex = 8
            ActiveSheet.Protect
            MsgBox "Analyse sauvegardée"
        End If
      Next i
    End Sub
    Le problème est que la msgbox est répété (5 - le nombre de celulle L remplie)

    Je ne veux pas qu'il retest toutes les cellules de la colonne L depuis le début

    Que la macro déverrouille la cellule L2 même si L1 vide

    Et que si L2 remplie ça ne vient pas déverrouiller L3

    Merci de votre aide

  10. #10
    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,

    Désolé mais tu ne regardes pas le code (ligne à ligne, mot à mot).

    Le problème est que la msgbox est répété (5 - le nombre de celulle L remplie)
    Normal. Voir boucle.

    Je ne veux pas qu'il retest toutes les cellules de la colonne L depuis le début
    C'est ce que tu écris. Test des lignes 1 à 5.

    Que la macro déverrouille la cellule L2 même si L1 vide
    Il suffit d'entrer l'indice de boucle dans l'adressage des cellules (Cells) à dévérouiller

    Et que si L2 remplie ça ne vient pas déverrouiller L3
    Condition If sur l'indice i-1

  11. #11
    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
    Voila la solution que j'ai trouvé ce matin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Bouton2_Cliquer()
      Range("L" & Rows.Count).End(xlUp).Select
      ActiveWorkbook.Save
      ActiveSheet.Unprotect
      ActiveCell.Offset(1, 0).Locked = False
      ActiveCell.Offset(0, -11).Interior.ColorIndex = 8
      ActiveSheet.Protect
      MsgBox "Analyse sauvegardée"
    End Sub
    Merci de m'avoir poussé à trouver par moi même !

  12. #12
    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
    Tu sauvegardes ton classeur avant la modification.
    Je me répète. L'indentation de tout code est nécessaire à sa bonne lisibilité.

    Cela dit, tu as cherché.

    Regarde le code ci-dessous et reviens si nécessaire.
    Volontairement, je n'ai pas mis de commentaire.

    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
    Sub Bouton2_Cliquer()
     
    Dim derlign As Range
     
    With ThisWorkbook
     
            With .Worksheets("Lafeuille")
                    .Unprotect
                    Set derlign = .Cells(.Rows.Count, 12).End(xlUp)
                    With derlign
                            .Offset(1, 0).Locked = False
                            .Offset(0, -11).Interior.ColorIndex = 8
                    End With
                    Set derlign = Nothing
                    .Protect
            End With
            .Save
    End With
     
    MsgBox "Analyse sauvegardée"
     
    End Sub

  13. #13
    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 beaucoup

    La macro fonctionne bien sur une feuille
    Mais comment se fait-il que dans un tableau, elle prend toujours la dernière cellule de la colonne L
    Même si les cellules au-dessus sont vides?

  14. #14
    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
    La macro fonctionne bien sur une feuille
    OK. Tu as regardé les modifications que j'ai apportées une par une et les as intégrées.

    Pour répondre à ta question.
    C'est la nature même d'un tableau structuré. Il détient des enregistrements, même vides.

    2 solutions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Worksheets("ENTREE").ListObjects("Tableau1")
              'indice dans la feuille, de la ligne correspondant à la première cellule vide du premier champ du tableau
              laligne = .ListColumns("Date").Range.Find("", SearchDirection:=xlNext).Row
    End With
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Worksheets("ENTREE").ListObjects("Tableau1")
                laligne = .DataBodyRange.Row + .HeaderRowRange.Row + 1
    End With

  15. #15
    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
    Ok, je comprends mieux même si il va falloir que je le décortique pour en comprendre les subtilités

    Il faut que je me forme au VBA pour apprendre les rudiments parce que là j’atteins mes limites ...

    Encore merci de ton aide

  16. #16
    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,

    Regarde cette discussion

    Dans le post #20, j'indique quelques liens que j'estime fondamentaux.

    (Et n'oublie pas de placer cette discussion en mode "Résolu")

  17. #17
    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 reviens une nouvelle fois vers toi car malgré plusieurs essais je n'arrive pas à insérer la dernière ligne de code dans 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
    14
    15
    16
    17
    18
    19
    20
    21
    Sub Bouton2_Cliquer()
     
    Dim derlign As Range
     
    With ThisWorkbook
     
            With .Worksheets("Feuil1")
                    .Unprotect
                    With Worksheets("Feuil1").ListObjects("Tableau1")
                        laligne = .ListColumns("Date").Range.Find("", SearchDirection:=xlNext).Row
                                    .Offset(1, 1).Locked = False
                                    .Offset(1, 1).Interior.ColorIndex = 8
                    End With
                    .Protect
            End With
            .Save
    End With
     
    MsgBox "Analyse sauvegardée"
     
    End Sub
    "Date" étant le nom de la colonne dans laquelle je souhaite rechercher ma première cellule vide?

    Désolé j'ai tout essayé mais sans succès ...

  18. #18
    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 Xavv,

    Les lignes du code que je t'ai retourné doivent, bien entendu, être adaptées.
    Cela signifie que les adresses et les noms de tous les objets (Worksheet, Range..) doivent être modifiés en fonction de ton classeur.

    Pour trouver la dernière cellule à modifier, tu remplaces donc les noms de Tableau, Feuille, Nom de la colonne(Date) par ceux de ton classeur.
    Le nom de la colonne est la valeur de la cellule tout au début de ton tableau structuré.

    Si tu considères la méthode ci-dessous (Find("") alors retire 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    laligne = .ListColumns("Date").Range.Find("", SearchDirection:=xlNext).Row-1
    (On va y arriver)

  19. #19
    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
    Salut MarcelG,

    Je vais te joindre le fichier car malgré tous tes conseils la macro ne fonctionne toujours pas

    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 Bouton2_Cliquer()
     
    Dim derlign As Range
     
    With ThisWorkbook
     
            With .Worksheets("Résultats")
                    .Unprotect
                    With Worksheets("Résultats").ListObjects("Tableau2")
                            laligne = .ListColumns("LONGUEUR1 (LENGHT 1)").Range.Find("", SearchDirection:=xlNext).Row - 1
                                Set derlign = laligne
                                     With derlign
                                        .Offset(1, 1).Locked = False
                                        .Offset(0, 1).Interior.ColorIndex = 8
                                     End With
                                Set derlign = Nothing
                    End With
                    .Protect
            End With
            .Save
    End With
     
    MsgBox "Analyse sauvegardée"
     
    End Sub
    J'ai dû retirer certaines colonnes, de ce fait la première cellule non-remplie qu’il faut déverrouillé se trouve dans la colonne K.

    Merci.
    Fichiers attachés Fichiers attachés

  20. #20
    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, Bonjour le Forum

    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 Bouton2_Cliquer()
     
    Dim derlign As Range
     
    With ThisWorkbook
     
            With .Worksheets("Résultats")
                    .Unprotect
                    With Worksheets("Résultats").ListObjects("Tableau2")
                            laligne = .ListColumns("LONGUEUR1 (LENGHT 1)").Range.Find("", SearchDirection:=xlNext).Row - 1
                                Set derlign = laligne
                                     With derlign
                                        .Offset(1, 1).Locked = False
                                        .Offset(0, 1).Interior.ColorIndex = 8
                                     End With
                                Set derlign = Nothing
                    End With
                    .Protect
            End With
            .Save
    End With
     
    MsgBox "Analyse sauvegardée"
     
    End Sub
    Quelques remarques:

    1 - Je te conseille de rendre obligatoire la déclaration de variables (Options Explicit)
    Pour ce faire, menu Outils\Options de ton éditeur VBE

    2 - Ici tu affectes une variable byte à un objet Range. Cela entraîne forcément un bug lors de l''exécution de u code.

    Regarde attentivement (mot par mot) cette correction et reviens pour tout détail qui te poserait question.
    (adaptation éventuelle sur les méthodes Offset)

    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
    Option Explicit
     
    Sub Bouton2_Cliquer()
     
    Dim laligne As Range
     
    With ThisWorkbook
     
            With .Worksheets("Résultats")
     
                    .Unprotect
                    Set laligne = .ListObjects("Tableau2").ListColumns("LONGUEUR1 (LENGHT 1)").Range.Find("", SearchDirection:=xlNext)
                    With laligne
                            .Offset(1, 1).Locked = False
                            .Offset(0, 1).Interior.ColorIndex = 8
                    End With
                    Set laligne = Nothing
                    .Protect
     
            End With
     
            .Save
     
     
    End With
     
    MsgBox "Analyse sauvegardée"
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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, 09h31
  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, 14h18
  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, 18h52
  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, 18h41
  5. TDBGrid - Un enregistrement sur plusieurs lignes
    Par BRODU dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2004, 08h53

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