Masquer ligne sous condition - Page 4

Résolu
Précédent
  • 1
  • 2
  • 3
  • 4
  1. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    Re,

    certainement parce que tu effaces plusieurs cellules en même temps onglet Liste colonne P


    0
  2. Perlox34
     

    Ok mais je comprends pas .. quand je copie le code ça ne marche pas .. ça copie sur les mauvaises ligne et ça ne s’efface pas quand j’efface le oui 

    0
  3. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    re,

    Contrôle que tu es sur les bonnes colonnes par rapport au fichier exemple que les noms des onglets correspondent exactement au nom dans le code

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


    0
  4. perlox34 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     

    Mais c’est obligé de crée une mise en forme conditionnel ? 

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

    Posez votre question
  6. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    Non, c'est juste pour différencier chaque ligne


    0
  7. perlox34 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     

    Ok j'ai réussi c'est bon juste un petit probleme sur la suppression 

    Regarde ton fichier, en faite on sais fais avoir car on avais mis le même nom. 

    Mais si par exemple je mets : 

    - Le contact 1 en " oui " ça copie bien 

    - Le contact 2 en " oui " ça copie bien 

    - Le contact 3 en " oui " ça copie bien 

    - Le contact 4 en " oui " ça copie bien 

    Mais dès que je supprime un " oui " peut importe la ligne ça me supprime le contact 1 car c'est le premier " oui ". 

    En suite peut importe la ligne ou je supprime " oui " ça me supprime le contact 2 car c'est le deuxième " oui ". 

    Exemple : J'ai supprimer le " oui " du contact 4 donc je veux que ça me supprime la ligne du contact 4 mais non ça me supprime la ligne du contact 1. 

    En suite j'ai fais un autre test en supprimant le " oui " du contact 3 donc je veux que ça me supprime la ligne du contact 3 mais non ça me supprime la ligne du contact 2. 

    Merci de voir ce que tu peux faire merci 

    0
  8. Le Pingou Messages postés 12283 Date d'inscription   Statut Contributeur Dernière intervention   1 480
     

    Bonjour,

    Petite intrusion car je n'ai pas de retour concernant ceci: que j'avais posté sur l'autre poste fermé.....https://forums.commentcamarche.net/forum/affich-37928136-copier-ligne-tableau-dans-une-autre-feuille-sous-condition#dernier

    Bonjour,

    Dans se cas voici un exemple que vous pouvez adapter à vos besoins.

    Le fichier : https://www.cjoint.com/c/MJyqFFUvNvZ


    0
  9. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    Re,

    A force de modifier le code une ligne avait été effacée remplace par ce code 

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Controle As Variant, Adresse As String
    On Error GoTo fin ' ---------------------------------------- gere les erreurs
        If Target.Column <> 16 Then Exit Sub ' ----------------- limite le declenchement ˆ la colonne 11 soit K
        If Target = "OUI" Or Target = "oui" Then ' ------------- condition de declenchement
        Target.Offset(0, -11).Copy Destination:=Sheets("Machine").Range("F65536").End(xlUp)(2, 1)
        Target.Offset(0, -7).Copy Destination:=Sheets("Machine").Range("I65536").End(xlUp)(2, 1)
        Target.Offset(0, -6).Copy Destination:=Sheets("Machine").Range("J65536").End(xlUp)(2, 1)
        Target.Offset(0, -5).Copy Destination:=Sheets("Machine").Range("K65536").End(xlUp)(2, 1)
        Exit Sub ' --------------------------------------------- si erreur sort de la  procedure
    fin: ' ----------------------------------------------------- si erreur arrte la procedure
        End If ' ----------------------------------------------- fin de la procedure
        
        If Target = "" Then ' ---------------------------------- teste la cellule active
        Controle = Target.Offset(0, -11).Value
        With Sheets("Machine")
        On Error GoTo erreur
        Adresse = .Columns("F").Find(Controle).Address ' ------- recherche la valeur du controle efface
            .Range(Adresse).EntireRow.Delete ' ----------------- supprime la ligne
        End With
        Exit Sub ' --------------------------------------------- sort de la procedure
    erreur:
        End If
    End Sub
     


    0
  10. perlox34 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     

    Ok je pense qu'on ai bon aha juste pouvez vous m'expliquer les code que si a l'avenir je décide de changer que je comprenne. 

    Si jamais je dois changer de nom d'onglet, ça je sais que je dois modifier toute les mots " machine " en mon nouveau nom " d'onglet " 

    Si je change la colonne ou il y aura marquer le " oui " je sais qu'il faut que je modifie :  If Target.Column <> 16 ( que je modifie le chiffre 16 par mon nouveau numéro de colonne. Ex colonne C n°3 etc ... 

    Ensuite cette formule : Target.Offset(0, -11).Copy Destination:=Sheets("Machine").Range("F65536").End(xlUp)(2, 1) 

    J'ai bien compris que le -11 signifie que ça copie la 11ème cellule en allant vers la gauche de ma celulle n°16. donc la en l'occurence ça devrais me copier les celulles de ma colonne " E " donc ma colonne n° 5.

    Mais imaginons que mon " oui " est en colonne " A " donc en colonne n°1 et je veux copier la colonne A et D

    Pour la D je mets (0,+3) ? et pour la A je mets quoi ? (0,0)

    Ensuite pour ce code : 

    Range("F65536")  Je comprends que je copie dans la colonne F mais que veux dire F65536 ? Ca va me copier jusqu'a la ligne 65536 ? Ou ca va me copier jusqu'a des lignes infinis ? Ou c'est juste le code pour que comprenne que ça dois copier en F ? 

    Ensuite pour ce bout de formule : 

     Controle = Target.Offset(0, -11).Value Pourquoi (0, -11) ? 

    Et pour finir ce code : Adresse = .Columns("F").Find(Controle).Address ' ------- recherche la valeur du controle efface

    Pourquoi " F " ? 

    0
  11. perlox34 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     

    @Le Pingou merci de ton aide. Mais non ce n'est pas vraiment ça que j'ai besoin. 

    Car votre fichier coupe la ligne pour la copier dans un autre onglet. 

    Moi je voudrais garder la ligne tout en la copiant dans un autre onglet à l'aide d'un " oui ". 

    Mais Mike-31 m'a bien aider sur ce sujet et on a réussi a trouver un bon code. 

    Merci en tous cas de votre aide. 

    Bonne soirée. 

    0
    1. Le Pingou Messages postés 12283 Date d'inscription   Statut Contributeur Dernière intervention   1 480
       

      Merci du retour, oui il copie la ligne, mais il est possible de ne pas la supprimer...adapter le code...en conséquence.....!

      Au passage salut amical Mike-31

      Salutations.
      Le Pingou

      0
  12. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    Re,

    Target est la cellule dans laquelle on est intervenu

    If Target.Column <> 16 EXIT SUB dans ton cas la colonne pilote est la 16 éme soit P ce qui veut dire si une action est menée dans une autre colonne on sort de la procédure

    Target.Offset(0, -11) donc à partir de la cellule dans laquelle ont est intervenue on se déplace vers la gauche de -11colonnes, si ont voulait se déplacer vers la droite de 11 colonnes Target.Offset(0, 11)

    Sheets("Machine") pour identifier un onglet dans le code  Sheets c'est feuille et entre guillemets le nom de l'onglet concerné

    Range("F65536") je sélectionne la cellule F65536 qui était dans les anciennes versions d'Excel la dernière cellule de la colonne

    .End(xlUp) précédé de l'identification d'une cellule demande à Excel de remonter jusqu'à la première cellule non vide trouvée 

    Controle = Target.Offset(0, -11).Value Controle est une variable que j'ai nommée comme cela et qui va mémoriser le contenu de la cellule -11 à partir de la cellule cible a cet instant du déroulement du code

    Adresse = .Columns("F").Find(Controle).Address Adresse est également une variable que j'ai nommé .Columns("F") colonne de recherche  Find(Controle).Address (Controle).Address recherche la valeur mémorisée dans la variable Controle et address est l'adresse de la cellule défini par le code 

    Mais pour aller plus loin il faudrait te perfectionner


    0
  13. perlox34 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     

    Je sais qu'il faut que je me perfectionne mais avec mon boulot je n'ai vraiment pas le temps c'est pour ça que je pose pleins de questions .. 

    Merci en tous cas pour tous ces informations c'est vraiment vraiment cool et ça marche a merveille mais j'aimerai quand même savoir s'il serai possible de modifier quelque reglage aha. 

    En faite cela fonctionne parfaitement mais il faut que je vienne dans la celulle manuellement et marquer " OUI " pour que ça se copie. 

    Manuellement pourquoi ? Je m'explique. 

    Je me suis crée un onglet " formulaire "' et j'ai crée une macro. 

    Le but c'est que je remplisse ce formulaire et ça me copie automatiquement ce que j'ai rentré dans l'onglet " client ".

    En faite ça m'insere une ligne et ça me copie toute les informations dans les cases correspondantes.  

    Mais en faite si je fais ça, comme c'est un copier/coller avec la macro dans la cellule

    ça ne va pas me copier la ligne mais par contre du coup si je viens manuellement ecrire " oui " ça se copie sans probleme. 

    Serait-il possible de faire quelque chose pour que du moment qu'il y a marqué " oui " dans la cellule ça la copie ? En copiant le mot " oui " biensur. 

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

    Voici le lien tu pourras voir par toi même l'onglet formulaire. 

    Mais c'est un autre fichier celui la il y a pas la macro mais t'a compris le délire. 

    Je veux juste savoir quel code rajouter pour que même si je copie un mot dans la cellule déclenchement ça me copie la ligne 

    Je sais pas si je me suis fais bien comprendre. 

    En tous cas merci pour ces informations 

    Et aussi est il possible d'enregistrer un excel en 2 format en même temps ? 

    Genre en xlsm et xlsx 

    Que j'ai 2 fichier qui s'enregistre en même temps merci 

    0
  14. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    Re,

    tout est possible mais bonjour le code, par contre je n'ai pas tout compris, dans la colonne de déclenchement P tu veux déclencher quelque soit le mot saisi, c'est cela ?


    0
  15. Perlox34
     

    Non juste quand " oui " est saisie ! 
    Mais en le copiant !

    Genre : La colonne de déclenchement est la colonne P 

    J’ai un mot qui est " oui " que je viens de copier 

    Je le colle dans la cellule P3 par exemple bah ça va pas copier la ligne. 
    par contre si par dessus la cellule P3 je viens taper manuellement " oui " là ça viens se copier 

    tu vois ce que je veux dire ? 
     

    Quand je remplie le formulaire et je viens faire ajouter ça me copie les valeurs donc j’aimerai que ça déclenche même en copiant !

    tu vois ? 

    0
    1. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       

      Ah non ça ce n'est pas possible, quelque soit le mode dont la cellule est renseignée OUI ou oui Excel déclenchera le code 

      0
  16. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    Re,

    Je viens de découvrir ta plaisanterie de faire travailler plusieurs intervenants sur plusieurs Forums sans parler de l'ouverture en doublon de ta demande en faisant bidouiller les codes des uns par les autres et vice versa sur le même sujet.

    Ce comportement est un manque de respect a l'encontre de bénévoles qui donnent de leur temps pour t'aider.

    Je passe le statut de cette discussion en résolu et ma participation s'arrête ici.


    0
  17. perlox34 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
     

    Quel plaisanterie ? 
    J’ai juste poser ma questions sur 2 forums diffèrent pour avoir différent avis avec différent personnes ! 
     

    Une personne intervenant sur commentcamarche.net n’intervient pas forcément sur forumexcel 
     

    Et puis en parlant de doublon sur commentcamarche.net tu n’a pas dû lire ma réponse sur la discussion " copier sur une autre ligne " je te laisse allez la voir 
     

    0
  18. Le Pingou Messages postés 12283 Date d'inscription   Statut Contributeur Dernière intervention   1 480
     

    Bonjour perlox34,

    Je ne trouve pas cette discussion copier sur une autre ligne sur CCM...


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