Référence de cellule

Bonjour à tous,

Nouveau sur ce forum, ancien par l'âge...j'ai pas mal pratiqué Excel, Access au cours de ma carrière...

maintenant retraité, j'ai le neurone qui flanche...

Bref, ma question:

Sur la feuille 2, case A1, j'ai " =Feuil1!A1 "

Je voudrais, sur la case A4 de la feuille 2, avoir la valeur de Feuil1!A2.

En résumé, il me faudrait sue la feuille 2, dans la case de mon choix, la valeur de la cellule en dessous de celle désignée 3 (ou plus) lignes plus haut.

J'espère avoir été clair...pas sùr...

Merci d'avance

Bonjour et bienvenue,

Peux-tu nous envoyer un petit exemple,

en y ajoutant une annotation de ce que tu souhaite

à 1ère vue, il faudra passer par une petite macro

Amicalement

Claude

Bonjour, et merci de ta réponse.

En fait, dans le fichier ci-joint:

Feuille1, 6 lignes de 27 chiffres (le fichier normal en comporte plus de 5000...)

feuille 2, chaque ligne de la feuille1 doit se retrouver sur 3 lignes de 9 chiffres.

Les quatrième, cinquième et sixième lignes de la feuille 2 comporteront les 27 chiffres (9x3) de la ligne 2 feuille 1, etc...

Encore merci

Benji

18classeur1.xls (15.00 Ko)

re,

Il y aura toujours 27 chiffres par ligne sur la feuil1 ?

pas besoin de séparer les pavés dans la Feuil2 ?

à te relire

Claude

Oui, il y aura toujours 27 chiffres à chaque ligne de la feuille 1, et chacune de ces lignes devra être divisée en 3 sur une autre feuille, cad 3 lignes de 9 chiffres.

En fait , c'est un peu plus compliqué, mais si j'ai déjà cette base, je pense pouvoir m'en sortir.

Merci.

Benji

re,

En fait , c'est un peu plus compliqué...

dis toujours !

je présume que l'ordre que tu as mis dans l'exemple est à respecter ?

confirme

Claude

Bonjour

Avec une formule en A1, incrémentée jusqu'à la colonne I sur tout le tableau

=SI(ET(MOD(LIGNE();3)=0;COLONNE()=9);INDIRECT("Feuil1!AA"&ENT((LIGNE()+2)/3));INDIRECT("Feuil1!"&CAR(COLONNE()+62+MOD(LIGNE()+2;3)+(COLONNE()*2))&ENT((LIGNE()+2)/3)))

Cordialement

Merci à Amadeus pour la formule, elle donne exactement ce que j'ai demandé!!

Quant à la question de dubois...justement, quand je disais que c'était un peu plus compliqué...J'explique:

En fait il me faudrait:

- la 1ère ligne de la feuille 1 comme je l'expliquais plus haut, de A1à I3 de la feuille 2,

- la 2ème " "" de J1 à R3 " ,

- la 3ème " de A4 à I6 ,

- la 4ème " de J3 à R6......

Eh oui! Voilà la complication...

Mais, en faisant marcher mon vieux neurone pour décortiquer la formule d'Amadeus, je pense que je devrais pouvoir la transposer à mes besoins.

Sinon, je sonnerai!

Encore merci à vous deux!

Benji

Bonjour,

Pour le fun et pour 5000 lignes au départ, solution VBA (le nombre de formules -15000*9 -pourrait alourdir beaucoup le classeur, malgré quelles soient super, Bravo Amadeus!)

Sub separer_en3()
Dim derlig As Integer, cptr As Integer, col As Byte, index_t As Byte
Dim tablo
Dim start

start = Timer

ReDim tablo(8, 0)
With Sheets(1)
    derlig = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row
    For lig = 1 To derlig
        For col = 1 To 27 Step 9
            For index_t = 0 To 8
                tablo(index_t, cptr) = .Cells(lig, col + index_t)
            Next
            cptr = cptr + 1
            ReDim Preserve tablo(8, cptr)
        Next
    Next
End With

Application.ScreenUpdating = False
With Sheets(2)
    .Range("A1:I20000").ClearContents
    .Range("A1").Resize(derlig * 3, 9) = Application.Transpose(tablo)
    .Activate
End With
MsgBox "réorganisation effectuée en " & Timer - start & " secondes"
End Sub

Merci Michel

Encore de quoi cogiter pour transposer!

Clt

Benji

Bonsoir à tous,

Tu nous diras le temps de traitement de la macro de michel sur ton fichier réel

Si ok, pour solder le poste c'est ici

Claude

a resolu2

Re à tous,

Problème résolu!

Malheureusement pas avec la macro de Michel, elle tournait toujours au bout d'une heure et demi...

Mais la formule d'Amadeus a très bien fait l'affaire.

Pour avoir la présentation que je voulais, j'ai d'abord fixé mes valeurs.

Puis, j'ai fait une petite macro de couper/coller et le tour était joué.

Merci encore à vous tous.

Clt

Benji

Bonjour,

Quand je propose une macro un peu évoluée, je la teste !

avec ton classeur, j'ai un temps de 0,047 secondes pour faire le boulot et non 1 heure et demie sans résultat !!!

Ne serait ce pas plutôt en "transposant" que tu aurais fait une erreur ???

Malheureusement pas avec la macro de Michel, elle tournait toujours au bout d'une heure et demi...

Malheureusement pas avec la macro de Michel que j'ai transposé, elle tournait toujours au bout d'une heure et demi...

aurait été un minimum plus poli.

Edit 9:58

test avec 5000 lignes : un peu moins de 4 secondes (ordi avec 512 mo RAM)

Désolé Michel si je t'ai froissé...

Je dois quand même préciser que je n'ai pas changé une virgule à cette macro...Que s'est-il passé? Je n'en sais rien, mais le fait est là.

Vraiment confus.

Clt

Benji

bonjour benji

ci joint démo sur 5000 lignes en 4 secondes

1 bouton pour écrire les 5000 lignes

1 bouton pour réorganiser en 9 colonnes

et ca marche

sans rancune

9demo-xlp.zip (12.58 Ko)
Rechercher des sujets similaires à "reference"