Masquer ligne sous condition

Résolu
perlox34 Messages postés 77 Statut Membre -  
 Le Pingou -

Bonjour, pourriez vous me dire la formule de macro pour masquer une ligne sous condition svp merci

Je vous explique : Je voudrais que la ligne 11 reste afficher pour marquer la raison social quand il y a marqué " Pro " en D5 mais par contre si je marque perso en D5 je voudrais masquer la ligne 11.

Si vous pouvez me donner la formule merci beaucoup


Macintosh / Opera 102.0.0.0

A voir également:

77 réponses

Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

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
perlox34 Messages postés 77 Statut Membre
 

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
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

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
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

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

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

Posez votre question
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

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
perlox34 Messages postés 77 Statut Membre
 

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
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

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
perlox34 Messages postés 77 Statut Membre
 

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
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

Re, 

alors comme cela

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


0
perlox34 Messages postés 77 Statut Membre
 

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
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

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
perlox34 Messages postés 77 Statut Membre
 

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
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

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
perlox34 Messages postés 77 Statut Membre
 

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
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

Re,

oui c'est ça, revoie également les mise en formes conditionnelles

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


0
perlox34 Messages postés 77 Statut Membre
 

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
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 

non c'est "P" 


0
perlox34 Messages postés 77 Statut Membre
 

Pas compris 

0
perlox34 Messages postés 77 Statut Membre
 

Ca me mets cette erreur 

0
perlox34 Messages postés 77 Statut Membre
 
0