Peut-être une macro ?

Résolu
gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   -  
gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je cherche de l'aide à nouveau pour résoudre un petit problème.

dans un tableau excel, une ligne se colore en orange si une valeur 0 est inscrite dans une case et en vert si une valeur >0 est inscrite dans cette même cellule.

dans le cas où la ligne est verte, je voudrais que la protection de cette ligne change automatiquement.
est-ce qu'une macro pourrait résoudre cela ?

merci de me dire si c'est compliqué, faisable, etc....
cordialement

6 réponses

  1. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
     
    Regarde le classeur :

    https://www.dropbox.com/s/amhezdgpk8xm0s9/mod%C3%A8le.xlsm?dl=0

    Note que la feuille est protégée sans mot de passe. Si tu en veux un, dis-le.

    La macro se trouve dans le module de la feuille "Licences 2018-2019" :

    Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Column = 9 And Target.Value = 0 Then
        ActiveSheet.Unprotect
        Cells(Target.Row, 1).Resize(, 8).Locked = True
      ElseIf Target.Column = 9 And Target.Value <> 0 Then
        ActiveSheet.Unprotect
        Cells(Target.Row, 1).Resize(, 8).Locked = False
      End If
      ActiveSheet.Protect
    End Sub
    


    Danniel
    1
    1. gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   1
       
      je suis désolé, j'essaie tout ce que je peux, je n'arrive pas à ouvrir quoi que ce soit et je ne trouve pas cette macro dans le fichier dropbox.

      je patauge lamentablement, mais j'ai réussi à copier la macro dans mon fichier principal mais rien ne se produit.
      0
    2. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
       
      Ouvre le classeur. La cellule I3 contient 10. Mets un 0 en I3. La ligne passe au vert, les cellules sont verrouillées et la feuille est protégée.

      Daniel
      0
    3. gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   1
       
      j'ai finalement réussi à récupérer le fichier avec sa macro.
      ça marche.

      mon fichier principal comporte en réalité 32 colonnes, je n'arrive pas à ajuster la macro avec ce nombre de colonnes.

      par contre, j'ai essayé manuellement de modifier la protection de la ligne complète concernée et c'est cela que je voudrais obtenir de manière à ce que même la cellule avec la valeur >0 soit "verrouillée" pour qu'on ne puisse plus la modifier sans enlever la protection.

      merci de m'aider encore une fois.
      0
    4. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
       
      Il faut que tu me donnes les colonnes des cellules à verrouiller : A:AF ? En quelle colonne se trouve la colonne du "reste à régler" ?

      Daniel
      0
    5. gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   1
       
      c'est bien cela : A:AF et la cellule du "0" est AG.
      donc en tout 33 colonnes à verrouiller.

      merci beaucoup Daniel de toutes tes réponses.
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour danielC0

    Comme on ne sait pas comment est inscrit le nombre dans la colonne AG (ou XY ou ...) car gigigong refuse à donner un classeur complet en restant sur une image, quelques petites remarques peut ^tre utiles

    Si le nombre indiqué est le résultat d'une formule, worksheet _change ne fonctionne pas

    Si le nombre est saisi, il faut pouvoir accéder à la colonne en la laissant déverouillée

    Mais cela ne nous dit pas comment sont remplies les autres cellules: saisies, formules ?...

    Bon courage, je te laisse le bébé.

    1
    1. gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   1
       
      Bonjour Michel,
      je ne savais pas comment fournir les éléments pour que quelqu'un puisse m'aider.
      mais j'ai fourni le fichier autrement qu'en image et je n'aime pas que l'on dise n'importe quoi.
      je viens demander de l'aide et c'est pas pour faire de la rétention.

      le fichier est disponible sur ce forum comme me l'a demandé Daniel.

      cordialement quand même.
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Je l'ai vu mais mais on sait pas comment sont inscrits les données pour déterminer le prix ,

      peut-^tre pas de la rétention, mais service strictement minimum qui n'encourage pas à t'aider, CCm ne fournissant pas de boule de Cristal, style "démerdez vous avec çà"

      ce n'est donc pas étonnant que "ca marche pas" alors que Daniel t'as fourni un code qui fonctionne
      0
    3. gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   1
       
      un énorme merci Daniel, tu as compris que j'étais limité en macro excel et que ma demande d'aide était fondée.
      ça marche impeccable.
      mais il faudrait que je récupère la macro pour l'incorporer dans mon vrai fichier de données, et je suis désolé, je ne la trouve pas.
      je sollicite bien entendu un dernier petit coup de main pour me sortir de ce souci si souci il y a.
      merci encore.
      0
    4. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
       
      Fais un clic droit sur l'onglet "Licences 2018-2019" et clique sur "Visualiser le code". Tu vois la macro dans la partie droite dans la fenêtre qui s'ouvre. Copie-le et colle-le en faisant la même manip dans ton vrai classeur.

      Daniel
      0
  3. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
     
    Bonjour,

    Est-ce que la feuille protégée et les cellules du tableau déverrouillées ?

    Une macro pourrait alors :
    - déprotéger la feuille
    - verrouiller la ligne de cellules vertes
    - reprotéger la feuille

    La macro pourrait se déclencher automatiquement si ta version d'Excel est Excel 2013 ou postérieure.

    Ce n'est pas compliqué à mettre en place, c'est surtout une question de version d'Excel.

    Cordialement.

    Daniel
    0
    1. gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   1
       
      merci danielco de m'avoir répondu.
      c'est excel 2013.
      dans la ligne concernée, certaines cellules sont ni masquées, ni verrouillées, certaines sont déjà verrouillées et je voudrais qu'une fois la ligne colorée en vert, toutes les cellules de la ligne soient verrouillées.
      0
  4. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
     
    Comme toutes les macros, elles dépendent de la position des données. Est-ce que tu peux me faire parvenir un lien sur ton fichier (sans données confidentielles).

    Daniel
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour
    Une photo ne nous sert strictement à rien

    pour envoyer un classeur
    Mettre le classeur sans données confidentielles en pièce jointe sur
    https://mon-partage.fr/
    Puis faire un clic « copier le raccourci » et le coller dans votre message

    Dans l’attente

    0
    1. gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   1
       
      merci Michel,

      j'avais envoyé un lien dropbox, j'espère que celui-ci va aller.

      https://mon-partage.fr/f/7CwaQFvR/
      0
  7. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
     
    La feuille n'est pas protégée. Peux-tu préciser ce que tu entends par "protéger une ligne" ?

    Daniel
    0
    1. gigipong Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   1
       
      je voudrais que toutes les cellules de la ligne verte passent en "verrouillé" comme les cellules de la colonne G.

      en utilisation, certaines cellules de la feuille sont protégées.

      donc, comme dit plus haut, il faudrait :

      - déprotéger la feuille
      - verrouiller la ligne de cellules vertes
      - reprotéger la feuille.

      merci de toutes les remarques.
      0