Choisir colonne selon contenu d'une cellule

Résolu/Fermé
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 16 mars 2021 à 17:06
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 18 mars 2021 à 20:11
Bonjour,
dans une premiere feuille, j'ai une cellule ( A1) dans laquelle je choisis un nombre entre 1 et 10.
dans cette même feuille, j'ai une somme calculée qui se trouve en H13
Je voudrais que suivant le nombre inscrit dans la cellule A1, ma somme de H13 soit recopiée sur une deuxième feuille mais dans une colonne spécifique selon le contenu de A1
Donc si en A1 j'ai 1, le contenu de H13 doit aller en feuille 2 en colonne C
si A1 = 2, alors mon contenu doit aller en colonne D
et ainsi de suite jusqu'à la colonne 10
j'ai essayé avec Select Case, mais je n'y arrive pas et je pense que avec des if... then ... else ça va être très long ?
Merci de votre aide
A voir également:

2 réponses

yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
16 mars 2021 à 18:48
bonjour,
tu n'as pas indiqué dans quelle ligne tu veux copier H13.
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 16 mars 2021 à 19:01
si c'est toujours dans la même ligne, disons la ligne 123, je suggère ceci:
dim ncol as long
ncol=sheets("premiere feuille").[a1]
sheets("deuxième feuille").cells(123, ncol)=sheets("premiere feuille").[h13]


EDIT: corrigé erreur dans le code
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
16 mars 2021 à 20:19
Bonsoir,
je n'avais pas indiqué sur quelle ligne je voulais écrire car j'avais l'intention de mettre :

ligne = Sheets("Départements").Range("A" & Rows.Count).End(xlUp).Row + 1 ' je descend d'une ligne à chaque fois
afin de descendre d'une ligne à chaque fois.
Je suppose que cela devrait fonctionner ?
Mais, en regardant ton code, je pense m'être mal exprimé !
en A1 de la 1ere feuille, j'ai un numéro qui représente un département (food - non food - tabac - alcools ...)
en H13, j'ai un montant, et ce montant je veux l'envoyer sur la feuille 2 dans laquelle chaque colonne est dédiée aux différents départements (food - non food - tabac - alcools ...)
Donc, si j'ai 1en A1(qui serait "Food" et 103.50 en H13, je veux que 103.50 soit inscrit dans la première ligne libre de la colonne "Food". puis, opération suivante, j'ai 3 en A1 et 50.25 en H13 je dois inscrire 50.25 dans la premiere ligne libre de la colonne "Tabacs" de la seconde feuille.
merci beaucoup.
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024
16 mars 2021 à 20:47
tu n'avais pas expliqué en quelle ligne il fallait copier.
il suffit de combiner les deux codes, en remplaçant mon "123" par ton "ligne", et en modifiant ton code pour chercher la ligne libre dans la bonne colonne, pas toujours dans la colonne A:
dim ncol as long, ligne as long
ncol=sheets("premiere feuille").[a1]
ligne = Sheets("Départements").cells( Rows.Count, ncol).End(xlUp).Row + 1
sheets("Départements").cells(ligne, ncol)=sheets("premiere feuille").[h13]
0
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
16 mars 2021 à 21:48
mieux:
dim ncol as long, ligne as long
ncol=sheets("premiere feuille").[a1]
ligne = Sheets("Départements").cells( Sheets("Départements").Rows.Count, ncol).End(xlUp).Row + 1
sheets("Départements").cells(ligne, ncol)=sheets("premiere feuille").[h13]
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
17 mars 2021 à 20:18
Super ! ça fonctionne impeccable. Merci et bonne soirée.
0
Merci beaucoup, j'essaie cela dès demain matin. Çe soir, j'ai arrêté le pc.
Bonne soirée à toi.
0