Copier lignes sous condition Excel

[Résolu/Fermé]
Signaler
Messages postés
5
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
3 octobre 2011
-
Messages postés
5
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
3 octobre 2011
-
Bonjour,

il s'agit ici de ma première apparition. Je suis novice en ce qui concerne VBA et je me retrouve coincé. voici mon problème :

Classeur 1 feuille 1 : j'ai généré 795 nombres aléatoirement (1colonne et 795lignes);
Classeur 1 feuille 2 : j'ai un dossier de température (sous plusieurs colonnes de A à Q) et composé de 795lignes;
Classeur 1 feuille 3 : vide.

J'aimerais en feuille 3 recopier les lignes du classeur 1 feuille 2 mais dans l'ordre des nombres générés en feuille 1.

Ex :

657 : temperature1 34, temperature2 12, ...
34 : temperature1 3, temperature2 23, ...

Sauriez-vous m'aider ?

Un grand merci.



1 réponse

Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 066
Bonjour
vous voulez dire que vous voulez un cassement aléatoire selon la liste de nombre édité en feuille 1?
sans VBA dans les deux cas:
1°)
le plus simple était alors de mettre cette liste en bout de champ en feuille 2 et de trier le champ selon l'ordre de cette colonne.
2°)
sinon vous pouvez utiliser cette formule, pour l'exemple à adapter:
le champ feuille 2 complet est nommé CHAMP
la liste de nombre feuille 21 est nommé liste
tous les tableaux et la liste débutent en A1 sans titre
en A1 feuil3:
=INDEX(CHAMP;EQUIV(PETITE.VALEUR(LISTE;LIGNE();0);COLONNE()à tirer vers la droite sur la largeur du champ de A à Q et vers le bas sur 795 lignes.
pour avoir l'ordre croissant ou GRANDE.VALEUR pour l'avoir décroissant.
note:
ligne et colonne donnent le N° correspondant à la ligne ou la colonne où se trouve ma, formule.
Si ce n'est pas sur A1 ilo faut ajuster pour que la formule dans la 1° cellule en haut à gauche du champ feuil3 donne ligne()=1 et colonne ()=1
soit par exemple si on commence en B2:
ligne()-1 et colonne()-1


crdlmnt
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 066
est ce plus clair...

euh peut être mais pas pour moi

on va quand même essayez en supposant que vous avez en feuille 1 colonne A les mêmes nombres que en feuil2 colonne A mais classés différemment.

Alors on garde les dénominations CHAMP et LISTE proposées plus haut et on applique en feuille 3 A1 la formule:

=INDEX(CHAMP;EQUIV('Feuil1'!$A1;LISTE;0);COLONNE())

toujours en supposant que l'on commence la feuille 3 en colonne A (sinon ajuster COLONNE()

En supposant que j'ai bien compris,(ce qui reste à prouver) la feuille 3 éditera les informations de la feuille 2 selon l'ordre des N° en feuille 1 colonne A.

crdlmnt
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 066
.... suite
ou selon ce modèle pour faire plus simple
http://www.cijoint.fr/cjlink.php?file=cj201110/cijKa2Gwc7.xls
crdlmnt
Messages postés
5
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
3 octobre 2011

C'est bien cela :), merci.
le champ feuille 2 complet est nommé CHAMP ---> je sélectionne de A1 à R 795 ?
la liste de nombre feuille 21 est nommé liste. Est-ce 21 ou 1 ou 2 ? Je sélectionne de A1 à A795 ?
Quand je rentre cela, il me dit sort N/A, est-ce normal ?
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 066
Re...
sélectionnez effectivement feuil2 A1:R795
pour nommer, inscrivez CHAMP dans la case à gauche de la barre de formule à, la place des adresses de cellule et "entre"
pour LISTE, idem même feuille de A1 à A795

ceci pour éclaircir les formules

mais vous pouvez aussi utiliser les adresses dans la formule sans nommer:
au lieu de CHAMP:: 'feuil2'$A$1:$R$795
au lieu de LISTE: 'feuil2'!$A$1:$A$795
en plaçant bien les blocages $

crdlmnt
Messages postés
5
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
3 octobre 2011

Un grand merci, la solution marche parfaitement. Je peux ainsi avancer dans mon projet car mes sets de donnés sont crées. J'espère que la solution viendra en aide à d'autres personnes. Encore merci.