IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Recopier deux colonnes sous condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Par défaut Recopier deux colonnes sous condition
    Bonjour
    J ai 8 colonnes et 1045 lignes sur une feuille.
    si le chiffre qui se trouve dans la olonne 8(H)est supérieur a zéro
    Je veux que les informations ( pas les formules) des colonnes G (7) et H (8) de cette page apparraisent dans une autre feuille en haut et sans ligne vierge
    Merci pour votre réponse

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    si le chiffre qui se trouve dans la olonne 8(H)est supérieur a zéro
    Pour chaque ligne ?

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une proposition utilisant un filtre automatique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub TransfertPositifs()
    Dim LastLig As Long
     
    Application.ScreenUpdating = False
    With Worksheets("Source")                                            'Adapte le nom de la feuille source
        .AutoFilterMode = False
        LastLig = .Cells(.Rows.Count, "G").End(xlUp).Row
        .Range("G1:H" & LastLig).AutoFilter field:=2, Criteria1:=">0"
        .Range("G1:H" & LastLig).SpecialCells(xlCellTypeVisible).Copy
        Worksheets("Destination").Range("A1").PasteSpecial Paste:=xlValues 'Adapte le nom de la feuille Destination
        Application.CutCopyMode = False
        .AutoFilterMode = False
    End With
    End Sub

  4. #4
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Par défaut
    Bonjour
    C est ma première sur un forum
    Je ne sais pas si c est la bonne façon de répondre
    J ai essayer la formule mais j ai un message d erreur m indiquant erreur d exécution l indice n appartient pas a la sélection
    Je précise que l idée est de faire apparaitre sur une autre feuille uniquement les lignes dont le le chiffre de la colonne H est sup. a 0

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Relis les commentaires dans le code et adapte les noms des feuilles par rapport à ton classeur.
    J'ai mis Source et Destination, à toi d'adapter à ton classeur

  6. #6
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Par défaut Deux colonnes
    Merci beaucoup pour ta réponse,
    Ça fonctionne mais je m aperçois qu il me manque une colonne (F) de la source que j aimerais faire apparaitre Dans la troisième colonne de la feuille de destination. Est ce possible

  7. #7
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Par défaut deux colonnes
    voici celle que j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub ingredients()
    Dim LastLig As Long
     
    Application.ScreenUpdating = False
    With Worksheets("calcul")
        .AutoFilterMode = False
        LastLig = .Cells(.Rows.Count, "F").End(xlUp).Row
        .Range("F1:H" & LastLig).AutoFilter field:=3, Criteria1:=">0"
        .Range("G1:H" & LastLig).SpecialCells(xlCellTypeVisible).Copy
        Worksheets("liste").Range("A1").PasteSpecial Paste:=xlValues
        .Range("F1:F" & LastLig).SpecialCells(xlCellTypeVisible).Copy
        Worksheets("liste").Range("C1").PasteSpecial Paste:=xlValues
        .Range("D1:D" & LastLig).SpecialCells(xlCellTypeVisible).Copy
        Worksheets("liste").Range("D1").PasteSpecial Paste:=xlValues
          .Range("C1:C" & LastLig).SpecialCells(xlCellTypeVisible).Copy
        Worksheets("liste").Range("E1").PasteSpecial Paste:=xlValues
        Application.CutCopyMode = False
        .AutoFilterMode = False
    End With
    End Sub
    merci pour ton aide
    pipof

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Tu devrais entourer ton code avec les balises code (mets le texte en surbrillance et appuie sur l'icône dièse (#). Ceci dit , tu parles d'une feuille "plat". Jusqu'ici, il n'y a que deux feuilles : calcul et liste. Peux-tu expliciter ce que tu veux ?

  9. #9
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Par défaut
    **Effectivement j ai rajoutè une feuille pour me simplifier l accès des donnès de la feuille calcul: je m explique
    * J ai une feuille appelée "calcul" dans cette feuille 8 colonnes et 1045 lignes * * *Je fait le calcul des ingrédients nécessaires pour réaliser un plat cuisinè.
    J ai crèè une feuille appelée "plats" dans cette feuille 3 colonnes et 150 lignes*
    Dans cette feuille je peux noter un jour de la semaine dans des cellules de la colonne A, dans la deuxième colonne B j inscris des chiffres qui agissent sur la "feuille calcul" , dans la troisième colonne le noms des plats*
    La troisième feuille est appelée "liste" c 'est dans cette *feuille q une macro doit être réalisée pour faire apparaitre les informations de la colonne A de la feuille appelée "plats" ainsi que les informations des colonnes ''E" "G" et "H" de la feuille "calcul" si le montant qui apparait dans la colone "H" de la feuille "calcul" est supérieur a zéro.
    Je dois obtenir 5*colonnes avec*des données que j aimerai traiter dans un tableau dynamique
    Pipof

  10. #10
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    OK. Le mieux serait que tu mettes en PJ un petit classeur exemple. Quelse sont les champs que tu veux voir figurer sur le tableau croisé dynamique (TCD) ?

  11. #11
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Par défaut
    voici une partie du fichier
    merci
    pipof
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. macro swap de colonnes sous conditions
    Par stevenP dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/03/2012, 18h17
  2. [XL-2007] copie colonne sous conditions en inputform
    Par octane dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/11/2011, 15h25
  3. [XL-2003] Bloquer une colonne sous condition
    Par louzz dans le forum Excel
    Réponses: 11
    Dernier message: 07/09/2011, 16h22
  4. Fusion de deux colonnes sous ACCESS
    Par oliver75 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/02/2010, 14h20
  5. selection de cellules d'une colonne sous condition
    Par Mounamidou dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/10/2007, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo