[excel] : incrémenter une cellule, puis récupérer sa valeur temporaire

: incrémenter une cellule, puis récupérer sa valeur temporaire [excel] - Divers - Programmation

Marsh Posté le 04-04-2007 à 23:57:18    

EDIT :
 
Encore un problème.
 
Excusez-moi je suis débutant, mais là je ne trouve pas.
 
Exposons le problème tout simplement.
En A1 j'ai 1.
En B2 j'ai 3+A1=4 (dans notre cas puisque A1 = 1)
 
MAintenant j'incrémente A1 qui passe à 2, B2 changera donc,et fera : 3+A1=5.
Ainsi de suite incrémentation de A1 jusqu'à 10000.
 
Ma question et mon problème : comment récupérer les valeurs "temporaires" de B1 entre chaque incrémentation de A1.
 
Bien sûre mon problème est beaucoup plus complexe que çà.
J'ai voulus mettre une série de chiffre de 1 à 10000. Hors pour un chiffre j'ai un tableau de 15lignes*600 colonnes de long, ca me ferais au total 15000 lignes sur 600 colonnes, j'ai laissé tourné mon PC (1.2Ghz) pendant 20min, il avait pas encore fini .
 
Voilà je pense que mon idée dont je n'arrive pas à trouver la solution marchera mieux.
 
 
 
 
 
 
******************************************************************************
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Existe-t-il une formule dans excel 2003 ou 2007, même voir des extension comme MOREFUN où l'on peut programmer à l'aide de formule la programmation suivante :
 
Dans la colone A et B :
 
             A                  B
1         2.52              0.22
2         8.56              0.55
3         7.25              7.25
4         1.35              0.78
5       pommes          poires      
 
 
Donc voilà en réalité j'ai beaucoup de ligne et colone, ceci est juste un simple exemple.
Je voudrais que : si une valeur de la colone en A (A1 à A4) se trouve en B (B1 à B4), excel me renvoie la ligne 5 "poires & pommes"   .
 
MErci ! :hello:


Message édité par Profil supprimé le 06-04-2007 à 17:53:42
Reply

Marsh Posté le 04-04-2007 à 23:57:18   

Reply

Marsh Posté le 05-04-2007 à 10:43:20    

les valeurs identiques doivent être sur la même ligne ?
 
comment décides-tu que ton ensemble de valeurs à tester est A1:A4 et B1:B4 ? Comment décides-tu que les informations à afficher sont en A5 et B5 ?

Reply

Marsh Posté le 05-04-2007 à 12:36:12    

Dans ta cellule destination:
=SI(A1=B1;CONCATENER($A$5, " & ", $B$5); "différent" )
Je suis pas trop sûr pour le coup des '$', bref, c'est juste pour dire que tu veux que les références soit constantes malgré les recopies. Ensuite tu copies cette formule dans toutes les cases destinations.

Reply

Marsh Posté le 05-04-2007 à 15:19:42    

MagicBuzz a écrit :

les valeurs identiques doivent être sur la même ligne ?
 
comment décides-tu que ton ensemble de valeurs à tester est A1:A4 et B1:B4 ? Comment décides-tu que les informations à afficher sont en A5 et B5 ?


 
 
Non les valeurs ne doivent pas être sur la même ligne.
Une valeur dans A2 peut être identique en B1, et donc excel m'affichera : "pomme & poire" puisque il a trouvé la même valeur an A et B !
 
Comment je décide que les informations à afficher sont en A5 et B5 ? :heink: , j'ai pas compris. Mais c''est moi qui décide de ma programmation, ceci est juste un ex.
 
 

Reply

Marsh Posté le 05-04-2007 à 15:20:38    

IrmatDen a écrit :

Dans ta cellule destination:
=SI(A1=B1;CONCATENER($A$5, " & ", $B$5); "différent" )
Je suis pas trop sûr pour le coup des '$', bref, c'est juste pour dire que tu veux que les références soit constantes malgré les recopies. Ensuite tu copies cette formule dans toutes les cases destinations.


 
Non çà ne marche pas, sinon ca aurait été trop simple.
Les valeurs ne sont pas sur les même lignes.

Reply

Marsh Posté le 05-04-2007 à 15:27:00    

Dans ce cas, fais au moins un exemple reproduisant le problème... :/

Reply

Marsh Posté le 05-04-2007 à 18:53:23    

IrmatDen a écrit :

Dans ce cas, fais au moins un exemple reproduisant le problème... :/

 


MAis j'ai exposé le problème. Et tout mon problème a été expliqué. JE vois pas ce qui manque  :heink: .

 

Bon reprenons  :D .

 

J'ai simplement deux colonnes A et B. Et je marque ma formule dans F1 telle que :
Disons que si une valeur de n'importe quelle ligne de la colone en A se retrouve dans n'importe quelle ligne de la colone B, et bien en F1 on marquera "oui", sinon "non". C'est juste çà mon problème.On arrête avec les pommes poires etc.
En réalité j'ai plus de 100 lignes, ceci est juste un petit exemple.

 

J'espère avoir été claire maintenant ???
 


Message édité par Profil supprimé le 05-04-2007 à 18:53:30
Reply

Marsh Posté le 05-04-2007 à 23:21:29    

J'ai mal lu, ça arrive :o [:ddr555]
 
La solution la plus prochaine que j'imagine là, c'est d'utiliser RECHERCHEV :/
Par contre, ça implique que tu mettes cette formule dans chaque ligne:

Code :
  1. =SI(ESTNA(RECHERCHEV(B1;$A$1:$A$4;1;0));"";CONCATENER($A$5;" & "; $B$5))


Bon, là j'ai affiché le résultat, mais tu peux tout autant mettre un 1 au lieu de la concaténation et vérifier dans la cellule destinée au résultat s'il y a un 1 dans ta colonne de calcul.
Je vois pas autre chose par contre, mais si tu trouves, je suis curieux :)

Reply

Marsh Posté le 06-04-2007 à 13:44:58    

salut !
Oui j'ai trouvé, mais c'était fastidieux, au moins une demi-heure, pour faire des copier-coller, mais là çà marche pour mon cas.
 
En tout j'avais, 25colonnes sur 6 lignes à vérifier.
Oui j'utilise aussi le recherchev.
Mais je dois réécrire ma formule, pour chaques lignes et colonnes.
Mais çà sera trop dur d'expliquer mon cas. J'ai fais quelques "bidouilles", pour arriver au résultats que je veux. Tester les case, le résultat est bien celui que je veux. Mais je pense qu'avec un peu de VBA, çà aurait plus pratique. Je met quand même le code, même si çà te servira à rien.
 

Code :
  1. SI(ET((SIERREUR(RECHERCHEV(TZ48;UX47:UX52;1;0);333))<>333;TZ48<>"" );TZ53&$WG54&UX53&$WG54;"" )


 
Et çà donne si je recopie :

Code :
  1. SI(ET((SIERREUR(RECHERCHEV(TZ48;UX47:UX52;1;0);333))<>333;TZ48<>"" );TZ53&$WG54&UX53&$WG54;"" )&SI(ET((SIERREUR(RECHERCHEV(TZ48;UW47:UW52;1;0);333))<>333;TZ48<>"" );TZ53&$WG54&UW53&$WG54;"" )&SI(ET((SIER

Reply

Marsh Posté le 06-04-2007 à 13:46:18    

=Concatener(A1;A2) est égal à : =A1&A2

Reply

Marsh Posté le 06-04-2007 à 13:46:18   

Reply

Marsh Posté le 06-04-2007 à 14:52:23    

Pas sur ma version (2003), donc si tu veux faire quelque chose qui s'utilise sur plusieurs versions, préfère les formules ;)

Reply

Marsh Posté le 06-04-2007 à 15:50:11    

EDIT encore une problème.
JE voudrais juste que vous m'aidez simplement au problème simple, ne vous posez pas d'autres question :

 

Encore un problème.

 

Excusez-moi je suis débutant, mais là je ne trouve pas.

 

Exposons le problème tout simplement.
En A1 j'ai 1.
En B2 j'ai 3+A1=4 (dans notre cas puisque A1 = 1)

 

MAintenant j'incrémente A1 qui passe à 2, B2 changera donc,et fera : 3+A1=5.
Ainsi de suite incrémentation de A1 jusqu'à 10000.

 

Ma question et mon problème : comment récupérer les valeurs "temporaires" de B1 entre chaque incrémentation de A1.

 

Bien sûre mon problème est beaucoup plus complexe que çà.
J'ai voulus mettre une série de chiffre de 1 à 10000. Hors pour un chiffre j'ai un tableau de 15lignes*600 colonnes de long, ca me ferais au total 15000 lignes sur 600 colonnes, j'ai laissé tourné mon PC (1.2Ghz) pendant 20min, il avait pas encore fini .

 

Voilà je pense que mon idée dont je n'arrive pas à trouver la solution marchera mieux.


Message édité par Profil supprimé le 06-04-2007 à 17:52:26
Reply

Marsh Posté le 09-04-2007 à 14:05:49    

up est ce que c'est possible au moins cette incrémentation ?

Reply

Marsh Posté le 09-04-2007 à 23:32:05    

Euh, va falloir que tu te tournes au moins vers VBA pour ça AMHA.
Par contre, je me pose des questions bien que tu n'en veuilles pas. Donc si tu as d'autres questions, va falloir répondre aux miennes d'abord (à commencer par le but de la manoeuvre :P)
 
PS: dans le cas d'un problème, n'édite pas un post précédent; ajoutes-en un, on ne le voit pas sinon.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed