Copier colonne feuil1 dans colonne Feuil2

Bonjour le forum,

Dans la feuil1 colonne A, j'ai une liste de plusieurs projets.

Dans la colonne B j'ai le statut des projets (en cours, terminé, annulé ...)

Je voudrais que dans la feuil2 colonne D ne soit affiché que les projets en cours.

J'ai mis un petit exemple dans le fichier ci-joint.

Merci d'avance pour votre aide.

Samm

31samm-v1.zip (3.49 Ko)

Bonjour,

en A2 :

=DECALER(Projet!$A$1;PETITE.VALEUR(SI((Projet!$B$2:$B$12="en cours");LIGNE(Projet!$B$2:$B$12);999);LIGNE()-1)-1;)

formule matricielle à valider avec Shift+Ctrl+Entrée, à recopier vers le bas

Pour éviter l'affichage des 0 en fin de liste mettre en format personnalisé : Standard;Standard;;@

eric

Merci Eric d'avoir répondu aussi vite,

Est-il possible d'avoir un code sous forme de macro ?

Amicalement,

Samm

why not, mais tu ne seras pas gagnant terme de ressources consommées.

Qui se met à jour sur quel critère ?

Modification d'un statut ?

Click d'un bouton ?

eric

Bonjour

A tester

Merci à vous deux pour vos réponse.

Benzai64 ton code il fonctionne très bien mais je n'arrive pas à l'adapter sur le fichier d'origine.

J'ai retiré toutes les données confidentielles dans le fichier et il est en pièce jointe avec les explications

Est ce que tu peux faire la même chose pour ce fichier ?

Il y a plusieurs cellules qui sont concaténées c'est sûrement pour ça que j'ai des messages d'erreur.

Merci encore à vous deux pour votre aide

Samm

Amicalement

26samm-v002.zip (46.31 Ko)

Bonjour

A tester

Bonjour Benzai64

Merci pour le code.

J'ai testé ça fonctionne très bien sur le fichier excel que tu m'as envoyé mais quand je colle le code dans le fichier d'origine j'ai un message d'erreur à cette ligne :

Range("AD5:AL" & .Range("AD" & Rows.Count).End(xlUp).Row).AdvancedFilter action:=xlFilterCopy, criteriarange:=.Range("AW6:AW7"), copytorange:=Range("D8")

erreur d'éxécution 1004

erreur définie par l'application ou par l'objet

J'ai éxecuté le code ligne par ligne mais je ne vois pas pourquoi ça bloque à cette ligne sur le fichier d'origine.

Samm

Bonjour

Sans mes lunettes le fichier en faute pas facile

Pas de cellules fusionnées bien sur ?

Je ne sais pas si c'est une erreur de recopie mais il manque le . (point) devant le 1er Range

.Range("AD5:AL" & .Range("AD" & Rows.Count).End(xlUp).Row).AdvancedFilter action:=xlFilterCopy, criteriarange:=.Range("AW6:AW7"), copytorange:=Range("D8")

Merci Benzai64,

Maintenant ça fonctionne, j'avais deux cellules fusionnées.

Je voudrais apporter une petite amélioration si c'est possible.

Dans la seconde feuille je voudrais que ce sois toute la ligne qui change lorsque le projet est en statut "en cours" elle est affiche si le projet à un autre statut la ligne on ne la voit pas.

Si je laisse le code comme ça le fichier n'a plus de sens

Merci d'avance pour ton aide

Samm

Bonjour

Tu prépares un fichier en y notant ce que tu veux obtenir, cela sera plus simple à comprendre

Désole c'est vrai que ce n'est pas très compréhensible ce que j'avais écrit.

Tu trouveras en pièce jointe le fichier avec les explications.

Si il te manque des info n'hésite pas à me demander.

Amicalement,

Samm

Bonjour

Et bien ce n'est pas gagné

Dans la page "ECO" tu as déjà la liste filtrée, ce que la macro fait

Que faut-il faire ?

Il doit manquer des renseignements, car pourquoi veux tu que je cherche des infos alors que sans les chercher ils sont déjà en place

la macro elle filtre que la colonne projet.

mais pas les autres colonnes du coup le nom du projet ne correspond pas avec les autres information qui sont sur la même ligne.

Tout est mélangé.

Bonjour

La macro filtre sur la colonne AL (Statut) et récupère les infos de la colonne AD (Projet)

Ce qui était ton désir

Le filtre agit sur toute la ligne elle ne mélange pas les infos

Je suis à peu près persuadé qu'il manque des informations, toi tu les connais mais moi non

Car si tu veux que les projets correspondent à quelques autres informations il faut dire où les chercher ?

Peut -être qu'il ne faut pas recopier que le résultat du filtre (Projet) mais aussi les colonnes .......... de la page "Projet"

Ou alors dans la page "ECO" il y a déjà tous les projets et il ne faut laisser afficher que ceux qui ont le statut "En cours"

Désolé mais je nage (je coule) complètement

Bonjour Benzai64,

Désolé j'ai pas te répondre hier.

Ce n'est pas moi qui est créé ce fichier excel je dois juste le modifier.

Ce qui est bizare c'est que le filtre n'agit pas sur toute la ligne, j'ai fait le test x fois.

Pour obtenir le resultat voulu je t'ai reformuler ce que je souhaite avoir.

regarde la pièce jointe y a toutes les explications.

Merci encore pour ton aide,

Amicalement,

Samm

10samm-v004.zip (47.53 Ko)

Bonjour

Je ne sais pas si j'arriverais à comprendre

La macro masque toues les lignes dont le numéro (colonne B) n'a pas le statut "En cours"

C'est ce que tu veux ?

Bonjour Benzai64,

Merci pour cette nouvelle macro

Tu as exactement compris ce que je souhaitais faire comme tu le dis ci dessous ...

La macro masque toues les lignes dont le numéro (colonne B) n'a pas le statut "En cours"

Mais quand je test ça fait rien.

Pourtant quand je fait défiler la macro ligne par ligne y a pas de message d'erreur.

Lorsque je suis dans la feuil "Etudes"et que je modifie le statut d'un projet il ne se passe rien dans la feuille eco.

Aucune ligne n'apparaît et aucune ligne n'est masquée.

Ça reste tel quel toutes les lignes sont visibles dans la feuille ECC

J'ai fait le test plusieurs fois.

Bonjour

Depuis le début je dis qu'il me manque des renseignements, mais à chaque fois tu me ressort la même soupe

J'ai fait avec ce que tu m'as donné

Dans la liste en page "ECO" la ligne du projet est masqué si son statut n'est plus "En cours", je viens de faire le test avec le projet 355, dont j'ai changé le statut, et sa ligne à été masquée

Les information présentes dans la page "ECO" viennent de .... je n'en sais rien (tu ne veux pas le dire - et je ne devine pas)

La 1ère macro qui te recopiait les projets ayant le statut "En cours" tu l'as virée (donc ce n'était pas ça)

Ensuite tu as fournis un fichier avec une liste de projet présente dans la page "ECO" en demandant de masquer ceux qui n'avait pas le statut "En cours" (ce que cette macro fait)

Et ce n'est pas encore ça

Moi je n'en sais rien, je ne suis pas dans ta tête, pour toi c'est clair, mais pas pour moi

Alors tu prends ton plus beau clavier, un fichier dans lequel tu notes

Au départ j'ai ça .......

Ensuite je veux avoir ça ..........

Toi c'est la partie "j'ai ça...." qui n'est pas claire

Bonjour Benzai64,

Désolé ton dernier code est bon autant pour moi.

En faite il masque et rend visible à partir de la ligne 9 et avant il n'en prend pas compte.

Et comme moi j'avais modifié les lignes de au dessus je ne voyais pas de changement. C'est pour ça que je t'ai dit que ça ne fonctionnait pas.

Mais là c'est ok tu avais parfaitement compris ce que je voulais faire.

Juste une dernière chose est ce que tu pourrais m'expliquer ligne par ligne le code stp.

Parce que la macro elle est costaud.

Sub MasqueLignes()
Dim J As Long
Dim Cel As Range

  Application.ScreenUpdating = False
  With Sheets("Charges BE")
    .Rows.Hidden = False
    If .Range("B11") = "" Then Exit Sub
    For J = 9 To .Range("B" & Rows.Count).End(xlUp).Row
      Set Cel = Sheets("Etudes").Columns("S").Find(what:=.Range("B" & J), LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
        If UCase(Cel.Offset(0, 19)) <> "EN COURS" Then .Rows(J).Hidden = True
      End If
    Next J
  End With
End Sub

Merci d'avance

Amicalement

Samm

Rechercher des sujets similaires à "copier colonne feuil1 feuil2"