Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/11/2011, 20h29   #1
Invité de passage
 
Homme christophe
Ressources humaines
Inscription : novembre 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme christophe
Localisation : France

Informations professionnelles :
Activité : Ressources humaines

Informations forums :
Inscription : novembre 2011
Messages : 23
Points : 0
Points : 0
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
pipof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 20h52   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Citation:
si le chiffre qui se trouve dans la olonne 8(H)est supérieur a zéro
Pour chaque ligne ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 21h07   #3
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Une proposition utilisant un filtre automatique
Code :
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
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/11/2011, 17h05   #4
Invité de passage
 
Homme christophe
Ressources humaines
Inscription : novembre 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme christophe
Localisation : France

Informations professionnelles :
Activité : Ressources humaines

Informations forums :
Inscription : novembre 2011
Messages : 23
Points : 0
Points : 0
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
pipof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 17h32   #5
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
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
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 09/11/2011, 19h07   #6
Invité de passage
 
Homme christophe
Ressources humaines
Inscription : novembre 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme christophe
Localisation : France

Informations professionnelles :
Activité : Ressources humaines

Informations forums :
Inscription : novembre 2011
Messages : 23
Points : 0
Points : 0
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
pipof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 19h23   #7
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
En adaptant le code de mercatog et en espérant n'avoir rien cassé :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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, "F").End(xlUp).Row
    .Range("F1:H" & LastLig).AutoFilter field:=3, Criteria1:=">0"
    .Range("G1:H" & LastLig).SpecialCells(xlCellTypeVisible).Copy
    Worksheets("Destination").Range("A1").PasteSpecial Paste:=xlValues 'Adapte le nom de la feuille Destination
    .Range("F1:F" & LastLig).SpecialCells(xlCellTypeVisible).Copy
    Worksheets("Destination").Range("C1").PasteSpecial Paste:=xlValues 'Adapte le nom de la feuille Destination
    Application.CutCopyMode = False
    .AutoFilterMode = False
End With
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/11/2011, 19h44   #8
Invité de passage
 
Homme christophe
Ressources humaines
Inscription : novembre 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme christophe
Localisation : France

Informations professionnelles :
Activité : Ressources humaines

Informations forums :
Inscription : novembre 2011
Messages : 23
Points : 0
Points : 0
Par défaut Deux colonnes

C est magique ( pour moi).ça marche
Si je peux abuser , est il possible de trier dans la feuille de destination la colonne A ( c est des noms de fruits et légumes ) : si dans cette colonne il y a plusieurs noms identiques alors les regrouper sur une seule ligne et additionner les chiffres de la colonne B dans la mesure ou l unité de mesure se trouvant dans la colonne C est la même.
Je crois que je suis en train de monter une 'usine a gaz'
pipof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 20h31   #9
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Fais un tableau croisé dynamique pour le regroupement.
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/11/2011, 09h30   #10
Candidat au titre de Membre du Club
 
Inscription : mai 2011
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 21
Points : 14
Points : 14
Tu peux utiliser une collection pour récupérer toutes les possibilités de valeurs dans ta colonne (sans doublons). Ensuite "copier" ta collection dans une nouvelle feuille et faire un somme.si (soit tu le fait en te "créant" une fontion "somme si" en progammant ta boucle en VBA, soit tu le fait direct dans Excel, soit tu fais remplir tes cases par des "=somme.si(...)" via VBA)
Fred.dz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 10h02   #11
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
@ Fred.dz :

Bonjour,

Pas exactement. Comme je le comprends, tu peux avoir plusieurs fois le même produit puisque tu peux avoir plusieurs valeurs différentes en colonne C pour ce même produit. L'alternative au TCD est un tri et une boucle sur les données.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/11/2011, 18h50   #12
Invité de passage
 
Homme christophe
Ressources humaines
Inscription : novembre 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme christophe
Localisation : France

Informations professionnelles :
Activité : Ressources humaines

Informations forums :
Inscription : novembre 2011
Messages : 23
Points : 0
Points : 0
Par défaut Deux colonnes

Je ne suis vraiment pas expert et le tableau dynamique croise tout comme la boucle ne me parle pas plus. Quelle est la solution la plus simple pour un novice ?
Merci pour l intérêt que vous portez a mon questionnement
pipof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 18h53   #13
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Citation:
Je ne suis vraiment pas expert et le tableau dynamique
C'est l'occasion
C'est l'outil d'Excel le plus adapté pour l'analyse et synthèse et c'est simple d'utilisation.
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/11/2011, 19h06   #14
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Tu as un tutoriel ici :

http://www.6ma.fr/tuto/excel+tableau...e+dynamique-55
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/11/2011, 19h25   #15
Invité de passage
 
Homme christophe
Ressources humaines
Inscription : novembre 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme christophe
Localisation : France

Informations professionnelles :
Activité : Ressources humaines

Informations forums :
Inscription : novembre 2011
Messages : 23
Points : 0
Points : 0
Par défaut Deux colonnes

Merci pour vos réponses, je potasse le tutoriel et vous tiens au courrant.
Cordialement pipof
pipof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2011, 17h25   #16
Invité de passage
 
Homme christophe
Ressources humaines
Inscription : novembre 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme christophe
Localisation : France

Informations professionnelles :
Activité : Ressources humaines

Informations forums :
Inscription : novembre 2011
Messages : 23
Points : 0
Points : 0
Par défaut Tableau dynamique

Après avoir consulter le tutoriel? Je m aperçois qu il serait utile que je rajoute une colonne dans la premiere feuille "plat" et lorsque j écris un mot dans une cellule il doit apparaitre dans la feuille " liste" première colonne. Est ce possible?
Actuellement j ai trois feuilles la première nommèe "plat" la seconde feuille nommèe calcul (source) et la troisiemme nommèe liste (destination).
pipof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 17h36   #17
Invité de passage
 
Homme christophe
Ressources humaines
Inscription : novembre 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme christophe
Localisation : France

Informations professionnelles :
Activité : Ressources humaines

Informations forums :
Inscription : novembre 2011
Messages : 23
Points : 0
Points : 0
pas de réponse au dernier message, c est que je ne doit pas être très clair.
j ai une autre question qui me permettrais d'avancer :
est il possible d’écrire un mot ou groupe de mots dans une cellule de la colonne C ou D d'une feuille "x" et qui soit reconnu dans une liste de mots ou groupe de mots qui se trouvent dans une colonne d'une feuille "y"
Faut il ouvrir une autre discussion car je m'eloigne du premier sujet?
pipof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 18h01   #18
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Oui, je n'ai pas répondu à ton avant-dernier post. Excuse-moi. C'est le nom de tes feuilles qui m'a déconcerté. Peux-tu poster la macro que tu utilises ?

Pour la dernière question, oui, ouvre un nouveau fil car en ce moment, je sature un peu.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 18h17   #19
Invité de passage
 
Homme christophe
Ressources humaines
Inscription : novembre 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme christophe
Localisation : France

Informations professionnelles :
Activité : Ressources humaines

Informations forums :
Inscription : novembre 2011
Messages : 23
Points : 0
Points : 0
Par défaut deux colonnes

voici celle que j'utilise
Code :
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
pipof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 19h25   #20
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
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 ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h21.


 
 
 
 
Partenaires

Hébergement Web