[Catégorie modifiée VB6 -> VBA] créer nouvel onglet excel suivant conditions sur

cs_juju1808 Messages postés 3 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 20 mai 2011 - 20 mai 2011 à 10:01
cs_juju1808 Messages postés 3 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 20 mai 2011 - 20 mai 2011 à 11:53
Bonjour à tous!

Ultra débutante en VBA (jusque là les formules excel suffisaient...)

Je souhaiterais créer un onglet dans mon classeur excel suivant des conditions sur la base de données d'une autre feuille qui sont:
1) la variable "filtre" doit être "ok". (attention cette variable change suivant des paramètres d'entrée).
2) classement des lignes dans le nouvel onglet suivant variable "marge" avec seulement les dix premières lignes qui apparaissent (en gros je veux seulement les dix meilleures marges des lignes où "filtre"="ok").

L'idéal serait d'avoir un bouton "voir les résultats" générant un onglet à chaque fois que les paramètres d'entrée changent...c'est possible ca au moins avec vba???

Merci d'avance pour votre aide ultra précieuse!



juju

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 mai 2011 à 10:46
Salut

Ça, c'est ce que tu veux faire. Ok.
Quel est ton problème ?

"Je souhaiterais créer un onglet dans mon classeur excel"
--> Enregistreur de macro

"sur la base de données d'une autre feuille"
du même classeur ?

"la variable "filtre" doit être "ok""
D'accord, mais d'où sort-elle, cette variable ?

"classement des lignes"
--> Enregistreur de macro + menu Tri

"avec seulement les dix premières lignes"
Boucle de lecture des lignes --> For-Next

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_juju1808 Messages postés 3 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 20 mai 2011
20 mai 2011 à 11:27
merci pour ta réponse rapide!

la base de données dont je parle est dans le même classeur

Je veux filtrer/trier cette base selon deux colonnes : "filtre" qui doit être égal à "ok" (valeur qui dépend d'autres colonnes de la table), et "marge".

En fait le réel problème c'est que je suis ultra débutante=niveau zéro en vba. j'ai cru comprendre qu'il fallait que je fasse des selection.copy et selection.pastespecial...Après je sais pas trop comment oraganiser tout ca...

Si tu pouvais m'aider ca serait super sympa...


juju
0
cs_juju1808 Messages postés 3 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 20 mai 2011
20 mai 2011 à 11:53
Est-ce que le code pourrait ressembler à ca: (trouvé dans un autre forum):

Sub Button3_Click()

Dim i As Integer
CompteurS4 = 1
CompteurA4 = 1
CompteurD5 = 1

Worksheets("SAP").Activate
For i = 2 To 150
If Cells(i, 3) = "331123" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("S4").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
CompteurS4 = CompteurS4 + 1
ElseIf Cells(i, 3) = "331127" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("A4").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
CompteurA4 = CompteurA4 + 1
ElseIf Cells(i, 3) = "331145" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("D5").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
CompteurD5 = CompteurD5 + 1
End If
Next i

End If




juju
0
Rejoignez-nous