Poignée de recopie

Bonsoir Forum,

Je bloque sur un Pb. Je vais essayer d'être clair.

Dans la feuil1 j'ai des nombres différents en B70, C70, D70 etc...

Je souhaiterais que ces nombres s'affichent dans la feuil2 en D4, D5, D6 etc...

Quelle formule dois-je appliquer ? Car quand je tire la poignée de recopie de la cellule D4 vers D30 de la feuil2, ça m'affiche les nombres des cellules de la feuil1 B71, B72, etc... et non ceux de C70, B70, C70, etc...

Merci pour votre aide.

Bonsoir

Formule en D4 de Feuil2 à incrémenter vers le bas:

=SI(LIGNES($D$4:D4)<26;INDIRECT("Feuil1!"&CAR(64+LIGNE()-2)&70);INDIRECT("Feuil1!A"&CAR(64+MOD(LIGNE();28))&70))

Passée la ligne 54, cette formule ne marche plus et il faut ajouter une nouvelle condition (Mais comme tu parles de ligne 30, je me suis arrêté là, fais signe si tu veux poursuivre)

Cordialement

Bonjour Forum, Bonjour Amadéus,

Merci pour ta formule, ça fonctionne. Formule un peu grande pour un si petit calcul! Cela aurait été plus simple si je devais recopier le résultat de la Feuil1 vers la Feuil2 dans le même sens.

Oui, je peux avoir plus de 54 lignes en Feuil1 ça peut aller jusqu'à 1000 (j'ai dis 30 pour l'exemple). Il y aurait une nouvelle condition ?

Merci 1000 fois (comme les lignes !)

Bonjour, Salut Amadéus,

Essaye copie et collage spécial et choisi l'option "transposé" ou bien il y a la formule TRANSPOSE. Procède ainsi :

1) En Feuil2 Sélectionne le bloc complèt pour recevoir les données( D4:D30 plage de 27 cellules dans la colonne D)

2) inscrit cette formule :

=TRANSPOSE(plage_à_transposer)

B70:AB70 (plage de 27 cellules aussi mais dans la ligne 70) par exemple.

3) valide impérativement avec les touches CTRL + MAJ + ENTREE.

Bonjour à vous tous,

Petit soucis

J'ai appliqué la formule de Amadéus en Feuil2 D4 et j'ai incrémenter vers le bas et ça fonctionne.

Mais quand j'inscrit cette formule, toujours en Feuil2 mais en J4 venant des données d'une nouvelle feuille (Feuil3) celà m'affiche 0.

Quel élément de la formule faut-il changer ?

Raja, je ne suis pas un crack d'excel, comment faut-il copier une formule ? Ctrl C - Ctrl V ?

Merci encore

Re,

Pour la copier CTRL+C suffit, mais pour le collage spécial CTRL+V ne suffit pas comme pour un collage normal. Il faut faire clique droit de la souris et sélectionner l'option "Collage spécial". Essaye aussi la 2è solution que j'ai proposé par la formule TRANSPOSE.

Re,

effectivement, passé la ligne 54 la formule ne marche plus. comme je vais avoir avoir une grande quantité de lignes, quelle condition faut-il ajouter ?

Raja, je ne comprends pas bien pourquoi elle est faite ta formule. Pour dépasser les 54 lignes ? si j'applique ce que tu me proposes, j'ecrase la formule de Amadéus.

Merci encore

Re,

Sans ton fichier, il m'est impossible de répondre favorablement à ta question.

re,

Ci-joint mon fichier.

Si peux faire quelque chose !!

Merci

Bonsoir Angie

Ton fichier n'est pas passé (tu dois copier le lien et le coller dans ton message)

Pour plus de 150 ou 200 valeurs à transposer, ma formule est inopérante, et deviendrait trop compliquée.

La Formule de Raja est peut être délicate à manipuler, mais fonctionne parfaitement.

Pour te faciliter le travail, tu peux y arriver en suivant le schéma suivant:

Exemple tu veux transposer tes données qui sont ligne 70 à partir de B70

1) Commande de menu "Insertion" "Nom" "Définir"

Dans "Nom dans le classeur", tu tapes MaPlage

Dans "Fait référence à:" tu tapes le signe =

Tu sélectionnes ta plage (qui s'inscrit automatiquement) et tu valides

2) Tu fais Alt+F11 (Touches Alt et touche F11)

L'éditeur VBA s'ouvre

Dans la fenêtre de l'Editeur VBA, commande "Insertion" "Module"

Tu copies ce qui suit et tu le colle dans la fenêtre de droite de l'Editeur vBA

Sub Transpose()

    Range("MaPlage").Select
    Selection.Copy
    Sheets("Feuil2").Select
    Range("D4").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Application.CutCopyMode = False
    Selection.FormulaArray = "=TRANSPOSE(MaPlage)"
    Range("D4").Select
End Sub

Tu fermes l'Editeur VBA; tu te retrouves devant ton fichier.

Menu "Outils" 'Macro" "Macros"

tu cliques sur le bouton exécuter.

La macro opére la transposition et installe les formules.

Cordialement

Re,

Amadéus,

Juste une suggestion. Dans ton code, tu n'aurait pas besoin de la ligne suivante, par conséquent peut être supprimée :

Selection.FormulaArray = "=TRANSPOSE(MaPlage)"

puisque, dans le collage (spécial) tu fais déjà cette transposition en mettant le paramètre Transpose:=true .

Comme j'ai indiqué dans mon précédent message, soit le collage spécial avec l'option "Transpose" soit la formule TRANSPOSE peut faire ce que l'auditeur veut réaliser.

Bonjour Raja

Merci pour ton indication.

J'ai utilisé l'enregistreur, d'où, cette ligne en plus.

Je sais, je ne brille pas trop en VBA, mais, ma spécialité était XL4 (affaire de génération et de langue)

Cordialement

Re Amadéus,

Moi non plus, je ne brille pas en VBA, mais en tant qu'apprenti programmeur dans d'autres langages que VBA et tant que étudiant informatique (et oui je continue mes études au cours du soir à IUT informatique de LYON toujours et encore) , j'essaie toujours d'optimiser le code. Sinon, j'ai, en excel, une toute petite préférence, pour les formules. Mais j'avoue que, quand je parcours ce forum, et d'autres aussi de temps en temps, je suis épaté de ce qui est réalisé par les spécialistes VBA.

En ce qui concerne, l'enregistreur de code du VBA, c'est grâce à cet outil, j'ai véritablement découvert le VBA et ainsi que le programmation tout court. Donc, il n'y a aucun complexe à avoir pour pouvoir l'utiliser. D'ailleurs, je suis persuadé que tous les programmeurs VBA l'utilise encore pour pouvoir retrouver un certain nombre de détails utiles.

Je donne, on ne sait jamais, le code que j'ai pu réaliser à partir de ton code mais qui pourra être optimisé encore par les spécialistes VBA .

Sub Transpose()
  [Feuil2].Select
  [D4].Select
  [MaPlage].Copy
  Selection.PasteSpecial Paste:=xlPasteAll, Transpose:=True
  Application.CutCopyMode = False
End Sub

Bonjour forum, Salut Amadéus,

Merci pour ta réponse et ton aide, c'est sympa. Je vais essayer de m'initier au VBA et j'espère que ça fonctionnera.

Mais je n'arrive pas à envoyer le fichier, dommage.

Car je ne sais pas d'où je copie le lien pour l'insérer dans le message.

Quand je clique joindre un fichier (en haut), je parcours l'emplacement sur mon hard disk et j'envoi et ça ne marche pas.

Re,

C'est sûrement à cause de la taille de ton fichier. Essaye de le zipper et retourner. Quand ton fichier est accepté d'être transféré, tu vois afficher un lien. Tu copies ce lien et colle dans ton message. Si le fichier ne passe pas, réduis le en supprimant les feuilles de calcul qui ne sont pas nécessaires ou les données qui ne sont pas probant pour comprendre ton souci.

re, Amadéus, Raja,

A vous lire, je ne pensais pas que mon Pb était si galère.

Bon je vais essayer d'envoyer le fichier (j'ai réduit des données)

https://www.excel-pratique.com/~files/doc2/UtSsJStocks.xls

Super ça fonctionne

Rechercher des sujets similaires à "poignee recopie"