suite de formule simple

  • Initiateur de la discussion Pascal
  • Date de début
P

Pascal

Guest
re-bonjour à tous

Comme ma première question n'a pas été résolue je la pose d'une façon différente et sans doute plus claire.

Si nous avons une liste de 10 000 données dans la colonne A et
Si nous avons une liste de 10 000 données dans la colonne B

Comment faire pour qu'automatiquement on ait dans la colonne C :
=A1
=B1
=A2
=B2
=A3
=B3
......

=A10000
=B10000

Merci et bon courage à tous ceux qui débutent et qui pataugent comme moi dans des problèmes qui ne doivent pas être très compliqués à résoudre par les experts et merci à ceux-ci de prendre un peu de leur temps pour nous répondre. à +
 
M

Mytå

Guest
Salut Pascal et le Forum

Avec une petite macro

Sub copier_formule()
For i = 1 To 10000
Cells(i * 2 - 1, 3) = "=" & "A" & i
Cells(i * 2, 3) = "=" & "B" & i
Next i
End Sub

En esperant cela tu voulais

Mytå
 
M

Monique

Guest
Bonsoir,

Sans VBA et tiré par les cheveux, peut-être.
En C1, tu écris =A1
En C2, tu écris =B1
En C3, la formule =DECALER(INDEX($A$1:$A$10000;EQUIV(C1;$A$1:$A$10000;0));1;0)
En C4, la formule =DECALER(INDEX($B$1:$B$10000;EQUIV(C2;$B$1:$B$10000;0));1;0)
Et tu copies C3 et C4 jusqu'à C20000
 
J

Jean-Marie

Guest
Bonsoir, tout le monde


Autre formule
en C1 =INDEX(A$1:A$1000;ENT(LIGNE()/2)+MOD(LIGNE();2);1)
en C2 =INDEX(B$1:B$1000;ENT(LIGNE()/2)+MOD(LIGNE();2);1)

Selectionne les 2 cellules et fait un glisser déposer.

@+Jean-Marie
 
P

Pascal

Guest
Merci à tous les trois Mytå, Monique et Jean-Marie

Les trois solutions marchent parfaitement, maintemant il ne me reste plus qu'à les comprendre, je suppose qu'avec un peu de logique je devrais y parvenir encore merci à tous les trois.
 
V

Vériland

Guest
Bonsoir Pascal et le Forum,

Apparemment tu es satisfait pascal c'est l'essentiel...pour moi une macro semblait le mieux correspondre...entretemps Mytå a donné une réponse et je n'ai pas proposé d'équivalent puisqu'elle devait logiquement être résolue par une boucle (par macro pour moi)...

Seulement je viens de m'apercevoir qu'il était possible d'après Monique et Jean Marie de le faire sans macro...et de faire une copie incrémentée...

jusqu'à la ligne 20000 (pour ton exemple)...

seulement le problème qui apparaît est celui de ne pas décaler les copies de cellules...en fait on retrouve après la copie toujours le même résultat (référence à C3 et C4 ou C1 et C2) pour les autres cellules... or j'ai cru comprendre que dans la colonne C il y avait une logique à suivre :

=A1
=B1
=A2
=B2
=A3
=B3
.....etc

Donc...est-ce que la copie jusque 10000 fonctionne chez vous ? enfin j'veux dire les formules :

En C3, la formule =DECALER(INDEX($A$1:$A$10000;EQUIV(C1;$A$1:$A$10000;0));1;0)
En C4, la formule =DECALER(INDEX($B$1:$B$10000;EQUIV(C2;$B$1:$B$10000;0));1;0)

et

en C1 =INDEX(A$1:A$1000;ENT(LIGNE()/2)+MOD(LIGNE();2);1)
en C2 =INDEX(B$1:B$1000;ENT(LIGNE()/2)+MOD(LIGNE();2);1)

car chez moi je n'obtiens pas du tout le même résultat qu'avec la macro...

A+ Vériland
 
M

Monique

Guest
Bonsoir,

Les 2 formules fonctionnent bien jusqu'à la ligne 20000
(pas essayé plus loin)

Attention, c'est 10000 et non 1000, dans la formule.
De toute façon, ça fonctionne aussi en mettant 1000 dans la formule, sauf que ça ne fonctionne que jusqu'à la ligne 2000
 
P

Pascal

Guest
Bonsoir Vériland

J'ai reessayé pour voir avec un autre exemple

dans la colonne A j'ai mis des nombres de 1 à 10000 en tirant sur la poignée de recopie

dans la colonne B j'ai mis des nombres de 10001 à 20000 en faisant de même. Avec la macro et les 2 autres formules j'obtiens la même chose dans la colonne C soit :

1
10001
2
10002
3
10003
etc
10000
20000 à la 20000ème ligne

Excel mais un peu de temps à calculer mais ça fonctionne très bien, il faut bien tirer la poignée que sur la colonne C et non sur B et C comme je le vois sur ton tableau.

@+ Pascal
 
V

Vériland

Guest
Bonsoir à tous,

c'est juste...je viens à l'instant de réessayer les formules après avoir rebooté l'ordinateur...je confirme ça fonctionne bien...il y avait certainement un sacré mélange dans la mémoire...lol...comme j'ai pratiquement ouvert une cinquantaine de fichiers dans la journée pour travailler sur le programme de Thierry euh...celui-ci (en passant je crois même que ce projet prend toute son importance actuellement pour le forum...N'hésitez pas continuez à envoyer des liens) il y a eu un blèm quelque part...lol...

donc à un moment donné quelque chose ne répondait plus dans mon excel...en particulier la copie incrémentée...mais depuis c'est bon...je rassure aussi Pascal, l'image du post précédent ne faisait qu'appuyer ce que je voulais expliquer...seulement je n'en ai pas trouvé qui traitait uniquement la colonne C...

Voili voilà...Bonne continuation à tous

A+ Vériland
 
J

Jean-Marie

Guest
Bonjour, Vériland

Je suis d'accord avec toi, il est préférable dans ce cas, d'utiliser une macro, mais ...

J'ai simplifié ma solution :
=INDEX(A$1:A$10000;ENT(LIGNE()/2)+1;1)
=INDEX(B$1:B$10000;ENT(LIGNE()/2);1)


@+Jean-Marie
 

Discussions similaires

Statistiques des forums

Discussions
314 644
Messages
2 111 533
Membres
111 180
dernier inscrit
Angeline4