Re: nombre de lignes d'une matrice
#11
Régulier XLPages

Inscription: 31/12/2008

Messages: 55

Système d'exploitation:
PC
Version Excel utilisée:
excel 2003
Posté le : 12-11-2010 18h06
bonjour le forum, guy,mth
je joint le fichier original que j'ai trouvé sur le forum excel,c'est la partie VBA qui m'interresse.Bien sur il ne correspond pas exactement a ma feuille,j'ai donc copié le code dans un module de mon classeur et la j'ai essayé de adapté a mes besoins c'est 20 colonnes et 730 lignes et 4 criteres alors que dans l'original il n'y en a que 14 lignes et 10 colonnes et 2 criteres (16 et 30) en MetN 39 et la il ne fonctionne plus.
le but c'est de rechercher des lignes qui ont les criteres,si une ligne a les 2 criteres elle doit etre recopiée 2 fois, si je met 3 criteres et que la ligne a les 3 elle sera copiée 3 fois.
La plage de donnée dans le fichier que j'ai joint hier (essai1) est en C4:V.., les criteres sont en O,P,Q R 3 et les données recopiées sont en X4:AQ..
merci
Pièce jointe:
xls test1.xls   [ Taille: 69.00 Ko - Téléchargements: 458 ]
Hors Ligne
Rapport   Haut 

Re: nombre de lignes d'une matrice
#12
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 12-11-2010 22h07
 Bonsoir tout le monde

Citation :
le but c'est de rechercher des lignes qui ont les criteres,si une ligne a les 2 criteres elle doit etre recopiée 2 fois, si je mets 3 criteres et que la ligne a les 3 elle sera copiée 3 fois.

Une question, si tu as dans la plage O3:R3 trois critères, dois-tu recopier 2 fois une ligne si celle-ci ne contient que deux des critères spécifiés ?

Que veux calculer dans les colonnes AT et AZ ?

@+Jean-Marie

Hors Ligne
Rapport   Haut 

Re: nombre de lignes d'une matrice
#13
Régulier XLPages

Inscription: 31/12/2008

Messages: 55

Système d'exploitation:
PC
Version Excel utilisée:
excel 2003
Posté le : 12-11-2010 22h32
bonjour le forum,jean-marie
oui si une ligne a 1 des criteres elle est recopiée une fois,2 criteres 2 fois, 3 criteres elle est copiée 3 fois
Dans la colonne AT c'est de nombre de fois que le 1,2,3,...etc ,sont sorti dans la plage X4::AQ...
Dans la colonne AZ c'est le nombre de fois que 2 numéros sont sortis ensemble EX: le 1 et le 2 ou le 16 et 30, suivant le numéro que j'inscris aprés le premier =,dans la meme plage X4:AQ..
merci
Hors Ligne
Rapport   Haut 

Re: nombre de lignes d'une matrice
#14
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 13-11-2010 14h10
Bonjour Jad, Mth, Guy, Didier, et tout le monde,

Pour ma part je pense que tu dois passer par une sub à la place de ta function pour retourner la matrice qui servira pour les résultats.

Tu fais une erreur sur la validation de la fonction des cellules X:AQ, la matrice renvoyée par la function n'est pas uniquement sous une forme de plusieurs colonnes mais sous forme de x lignes et de 20 colonnes, tu dois donc valider ta fonction en ayant sélectionner la plage X4:AQ400 avant de saisir et valider la formule par les touches Ctrl+Shift+Entrer, c'est pour cela qu'il y a répétition de la même ligne sur les lignes en dessous.

J'ai remplacer les formules de la plage AT et AZ, pour donner un coup de fouet.

La formule en AT devient
=FREQUENCE(X:AQ;AS4:AS73)
Pour cette formule, il faut aussi sélectionner une plage de cellules, en l'occurence AT4:AS73, avant de la saisir et de la valider. La fonction FREQUENCE étant l'une des rares fonction dans Excel qui retourne une matrice verticale.

Pour la formule de la colonne AZ, on peut supprimer la fonction SOMMEPROD qui est de manière générale très gourmande en temps de calcul, la formule devient, (certe, il faut pouvoir la comprendre)
=FREQUENCE(SI(FREQUENCE(SI(Matrice=AZ3;LIGNE(Matrice);"");LIGNE(Matrice))=1;Matrice);AY4:AY73)
comme pour l'autre formule de la colonne AT il faut sélectionner une plage verticale.
N'aimant pas beaucoup les constantes (ton 33) dans les formules, je l'ai déporté dans la cellule AZ.

Dans le fichier tu prouveras ta feuille avec les modifications indiquées, et une feuille macro, clique sur le bouton pour régénérer la matrice. Pour cette feuille j'ai rajouté des plages nommées utilisées pour une formule et pour le code VBA.

Tu as sur ce site toutes les explications nécessaires, il suffit de regarder les articles de Mth (bisous) 

@+Jean-Marie


Pièce jointe:
zip Jad73 essai.zip   [ Taille: 41.62 Ko - Téléchargements: 459 ]
Hors Ligne
Rapport   Haut 

Re: nombre de lignes d'une matrice
#15
Régulier XLPages

Inscription: 31/12/2008

Messages: 55

Système d'exploitation:
PC
Version Excel utilisée:
excel 2003
Posté le : 13-11-2010 18h02
bonjour le foum,jean-marie,guy,mth
merci pour ta réponse,j'ai oublié de préciser que je n'y connais pas grand chose en VBA,toutes les formules que j'utilise viennent de vous,des forums excel .
Le fihier que j'ai joint n'est pas le fichier de mon classeur(trop gros),il faut maintenant que je l'insere dans mon classeur,faut-il copié les 2 feuilles macro et funtion.
merci
Hors Ligne
Rapport   Haut 

Re: nombre de lignes d'une matrice
#16
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 13-11-2010 20h32
 re

Jad73, si tu souhaites de garder ta function VBA, il te faut changer deux définitions de variable (string en Integer).

Ensuite rajoute dans ton fichier la définition de la plage nommée "matrice". Après tu modifies les formules, lit bien les commentaires de mon premier post.

Par contre si tu souhaite passer par la SUB, il te faut la copier dans le code VBA, créer le bouton pour la lancer.
Avant de cliquer sur le bouton tu dois rajouter les plages nommées utiliser dans le code VBA (dans l'instruction "range")

@+Jean-Marie

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes