Masquer ligne sous condition - Page 3

Résolu
  1. Re,

    sur Mac je ne sais pas, et n'ai pas de Mac sous la main. Tu peux essayer d'écrire dans une cellule =LIGNE(A1:A10) tu sélectionnes LIGNE(A1:A10) et tu joues avec les touches de fonction F dans la barre des formules devrait s'afficher ceci{1;2;3;4;5;6;7;8;9;10} je chercherai de mon côté et reviendrais sur le sujet

    Pour ton fichier regarde s'il répond à tes attentes

    https://www.cjoint.com/c/MJtujPzbAFF


    0
    1. Je vais regarder de mon côté merci. 

      Oui c'est exactement ça merci comment t'a fais ? Que je le copie sur mon fichier original aha 

      0
      1. Re,

        J'ai sélectionné le tableau onglet Suivis C6:H12, ce qui active l'onglet Création sur le ruban/Style de tableau/j'ai sélectionné le premier style Clair ensuite j'ai colorisé les entêtes en noir police blanche etc ...

        ensuite j'ai incrémenté la première ligne des formules jusqu'à la ligne 50

        j'ai coloriser toutes les lignes en bleu, de sorte à ne voir que les entêtes en noir, ensuite j'ai créé deux mises en forme conditionnelles, Accueil/Mise en forme conditionnelle pour coloriser en gris les lignes impairs et en blanc les lignes pairs et les bordures des cellules


        0
        1. Re,

          Tu peux me dire pourquoi le tableau Liste Client et tableau Suivis ont des structures différentes, dans le tableau Suivis tu ignores les colonnes N°, CLIENT PROSPECT et PARTICULIER cela n'est pas un problème,

          mais sur l'onglet SUIVIS tu as nom prénom, adresse puis 7 colonnes numérotées de 3 à 9

          Ensuite il faut faire attention lorsque tu nommes des plages ou onglets, de bien reproduire l'orthographe employé ou ne pas rajouter des espaces, tes sources d'erreurs étaient là.

          que veux tu faire avec le bouton OK onglet Formulaire, le code est mal écrit

          https://www.cjoint.com/c/MJxuIMgkz7F


          0
          1. Re, 

            Comme je te l'ai déjà dit, les messages privés doivent rester exceptionnels, pour te répondre la colonne contrôle devient nécessaire sur l'onglet de transfert surtout après ta dernière demande dont la ligne doit s'effacer si on supprime "OUI" sur le premier fichier et pour effacer la bonne ligne le contrôle Copié est devenu date et heure

            https://www.cjoint.com/c/MJyl1nYh41F

            et pourquoi ne pas utiliser un fichier sans macro

            https://www.cjoint.com/c/MJymSLRMptF


            0
            1. Psk je ne peux pas utiliser de formule pour ce que je veux faire finalement il me faut une macro. 

              Super ta macro, par contre au lieu de copier la ligne entiere, comment faire pour copier que certaines cellule ? Je voudrais copier que (Nom, Prénom, Adresse. ) Merci

              0
              1. Re,

                comme ça par contre sans la colonne contrôle difficile de supprimer la ligne onglet suivis en fonction de l'effacement OUI onglet liste surtout si à l'usage tu peut avoir plusieurs noms identique dans ton fichier

                https://www.cjoint.com/c/MJyqxOkzN7F


                0
                1. Je pense ce sera un des derniers test. 

                  https://www.cjoint.com/c/MJzftSsKEYt

                  J'aimerai plutot copier ( NOM, ADRESSE, CP, VILLES ). 

                  Ducoup dans mon tableau " liste " je voudrais copier le ligne 5 a la ligne 2 du tableau " machine " si " oui " biensur 

                  E5 en E2 de l'onglet " machine " 

                  G5 en H2 de l'onglet " machine " 

                  I5 en I2 de l'onglet " machine " 

                  J5 en J2 de l'onglet " machine " 

                  Merci encore, et bien sur supprimer la ligne si on supprime le " oui ". 

                  0
                  1. D’accord merci peux-tu me copier le code pour je puisse le copier sur l’original stp merci 

                    et me dire ce qui faut modifier pour copier et coller une autre colonne car peut être que je voudrais copier une autre colonne à l’avenir 

                    merci de ton aide 

                    0
                    1. Re,

                      pour voir le code, clic droit sur l'onglet Liste ou Alt et touche de fonction F11 et tu remarqueras ces lignes

                      Target.Offset(0, -6).Copy Destination:=Sheets("Machine").Range("E65536").End(xlUp)(2, 1)
                          Target.Offset(0, -4).Copy Destination:=Sheets("Machine").Range("H65536").End(xlUp)(2, 1)
                          Target.Offset(0, -2).Copy Destination:=Sheets("Machine").Range("I65536").End(xlUp)(2, 1)
                          Target.Offset(0, -1).Copy Destination:=Sheets("Machine").Range("J65536").End(xlUp)(2, 1)

                      en fait chaque cellule copiée est sélectionnée à partir de la cellule qui change colonne K (Suivis)

                      exemple pour la première ligne du code, à partir d'une cellule colonne K on décale la sélection de -6 cellules vers la gauche que l'on Copy dans l'onglet "Machine" dans la première cellule colonne E trouvée Range("E65536").End(xlUp)(2, 1)Target.Offset(0, -6).Copy Destination:=Sheets("Machine").Range("E65536").End(xlUp)(2, 1)

                      et ainsi de suite parce que les cellules à copier ne sont pas contiguës


                      0
                      1. Ok cool super merci j'ai vue que la colonne L de la feuil1 ou il y a marqué controle ne sert plus a rien c'est ça, je peux la supprimer ?

                        Sinon le E65536 correspont a jusqu'a la ligne 65536 ? Merci 

                        0
                        1. Re,

                          la colonne Contrôle ne sert plus à rien,

                          E65536 veut dire à Excel qu'à partir de cette cellule

                          .End(xlUp) Excel va rechercher la première cellule non vide de la colonne E en remontant

                          (2, 1) ou Offset(1,0) à partir de la première cellule non vide trouvée par Excel on descend d'une cellule dans la même colonne pour se positionner sur la première cellule vide


                          0
                          1. Voici ton code actuelle  :

                            Option Explicit

                            Private Sub Worksheet_Change(ByVal Target As Range)

                            Dim Controle As Variant, Adresse As String

                            On Error GoTo fin    

                            If Target.Column <> 11 Then Exit Sub    

                            If Target = "OUI" Or Target = "oui" And Target.Offset(0, 1) = "" Then  

                            Target.Offset(0, -6).Copy Destination:=Sheets("Machine").Range("E65536").End(xlUp)(2, 1)    

                            Target.Offset(0, -4).Copy Destination:=Sheets("Machine").Range("H65536").End(xlUp)(2, 1)    

                            Target.Offset(0, -2).Copy Destination:=Sheets("Machine").Range("I65536").End(xlUp)(2, 1)    

                            Target.Offset(0, -1).Copy Destination:=Sheets("Machine").Range("J65536").End(xlUp)(2, 1)    

                            Exit Sub

                            fin:  

                            End If    

                            If Target = "" Then    

                            Controle = Target.Offset(0, 1)  

                            Target.Offset(0, 1) = ""    

                            With Sheets("Machine")    

                            On Error GoTo erreur    

                            Adresse = .Columns("L").Find(Controle).Address

                            .Range(Adresse).EntireRow.Delete    

                            End With    

                            Exit Sub    

                            End If

                            End Sub

                            Dans mon fichier officiel, j'ai le " oui " dans la colonne P donc colonne n°16 

                            Je dois copier :

                            - La colonne E donc colonne n°5 

                            - La colonne I donc la colonne n°9 

                            - La colonne J donc la colonne n°10 

                            - La colonne K donc la colonne n°11

                            Et je voudrais copier :

                            - La colonne E dans l'onglet " SUIVIS " a la colonne F 

                            - La colonne I dans l'onglet " SUIVIS " a la colonne I 

                            - La colonne J dans l'onglet " SUIVIS " a la colonne J 

                            - La colonne K dans l'onglet " SUIVIS " a la colonne K 

                            En laissant de nouveau ton code ci-dessous j'ai juste rajouter en gras à côté les valeurs que je dois remplacer. 

                            Es-ce juste ? Car ca ne marche pas sur mon fichier original. 

                            Exemple :

                            - Le 16 je dois le mettre a la place du 11 

                            - Le -11 a la place du -6 

                            - Le F a la place du E 

                            - Le -7 a la place du -4 

                            - Le I a la place du H 

                            - Le -6 a la place du -2 

                            - Le J a la place du I 

                            - Le -5 a la place du -1 

                            - Le K a la place du J 

                            - Le suivis a la place de machine 

                            Il manque autre chose avec tous ce que je t'ai dis ? Ou peut etre des choses a supprimer ?

                            Merci à toi 

                            Option Explicit

                            Private Sub Worksheet_Change(ByVal Target As Range)

                            Dim Controle As Variant, Adresse As String

                            On Error GoTo fin    

                            If Target.Column <> 11 16 Then Exit Sub    

                            If Target = "OUI" Or Target = "oui" And Target.Offset(0, 1) = "" Then  

                            Target.Offset(0, -6 -11 ).Copy Destination:=Sheets("Machine").Range("FE65536").End(xlUp)(2, 1)    

                            Target.Offset(0, -4 -7 ).Copy Destination:=Sheets("Machine").Range("IH65536").End(xlUp)(2, 1)    

                            Target.Offset(0, -2 -6 ).Copy Destination:=Sheets("Machine").Range("JI65536").End(xlUp)(2, 1)    

                            Target.Offset(0, -1 -5 ).Copy Destination:=Sheets("Machine").Range("KJ65536").End(xlUp)(2, 1)    

                            Exit Sub

                            fin:  

                            End If    

                            If Target = "" Then    

                            Controle = Target.Offset(0, 1)  

                            Target.Offset(0, 1) = ""    

                            With Sheets("SUIVISMachine")    

                            On Error GoTo erreur    

                            Adresse = .Columns("L").Find(Controle).Address

                            .Range(Adresse).EntireRow.Delete    

                            End With    

                            Exit Sub    

                            End If

                            End Sub

                            0
                            1. C’est à dire renvoie également les mises en formes conditionnel ? 
                               

                              et puis : 

                              On Error GoTo erreur    

                              Adresse = .Columns("L").Find(Controle).Address

                              .Range(Adresse).EntireRow.Delete    

                              ça je le laisse ? Vu que j’ai plus la colonne L de contrôle 

                              0
                              Précédent
                              • 1
                              • 2
                              • 3
                              • 4