Masquer ligne sous condition

Résolu
perlox34 Messages postés 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024 - 15 oct. 2023 à 14:00
 Le Pingou - 27 oct. 2023 à 11:44

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
19 oct. 2023 à 22:09

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 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
20 oct. 2023 à 07:11

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
20 oct. 2023 à 08:40

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
23 oct. 2023 à 22:37

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
Modifié le 24 oct. 2023 à 14:45

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 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
24 oct. 2023 à 18:11

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
Modifié le 24 oct. 2023 à 18:25

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 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
25 oct. 2023 à 07:24

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
25 oct. 2023 à 09:53

Re, 

alors comme cela

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


0
perlox34 Messages postés 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
25 oct. 2023 à 12:09

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
Modifié le 25 oct. 2023 à 13:01

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 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
25 oct. 2023 à 19:25

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
25 oct. 2023 à 20:05

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 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
25 oct. 2023 à 20:39

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
25 oct. 2023 à 21:54

Re,

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

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


0
perlox34 Messages postés 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
25 oct. 2023 à 22:30

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 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
25 oct. 2023 à 22:45

non c'est "P" 


0
perlox34 Messages postés 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
25 oct. 2023 à 23:10

Pas compris 

0
perlox34 Messages postés 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
26 oct. 2023 à 00:08

Ca me mets cette erreur 

0
perlox34 Messages postés 76 Date d'inscription dimanche 15 octobre 2023 Statut Membre Dernière intervention 27 février 2024
26 oct. 2023 à 00:09
0