Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Question Select Case

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ntan-évindi

XLDnaute Occasionnel
Bonjour à toutes et à tous,
Dans un classeur excel, je dois copier des données sur une des feuilles à partir d'une autre feuille importée d'un logiciel utilisé par le Service Production.
Le tableau qui reçoit les données est composé de colonnes, une par semaine et une colonne supplémentaire par mois.
Exemple B7:B37 pour la semaine 1, C7:C37 pour la semaine 2 et ainsi de suite,
idem pour les mois qui sont intercalés entre les semaines.

Dans une macro, j'utilise Select Case Semaine
Case Is 1 (pour la semaine 1)
+le code copié-collé (collé les valeurs)

La macro fonctionne parfaitement, cependant je me pose une question, d'ailleurs je vous la pose (c'est le but de mon message):
Cela me fait 52 fois plus 12 fois Case Is
la macro est donc longue, très longue puisque j'utilisse encore le même système pour copier des valeurs 52 fois dans un autre tableau.

Voilà enfin la question n'y aurait il pas, des fois, par hazard une autre façon de faire, plus simple.

Personnellement je n'ai pas d'idée.

En avez vous une.

D'avance merci beaucoup.

Cordialement.

Ntang
 
Re : Question Select Case

Bonjour,

Je pense qu'un calcul mathématique pourrait déterminer la colonne dans laquelle coller les données en fonction du numéro de semaine (idem pour les mois)

mais pour ça, il faut que tu nous fournisse un tableau complet qui dit

N° semaine - Colonne
1 - B
2 - C
3 - D
...

d'autant plus qu'il faudra "sauter" les colonnes des mois pour les semaines, et inversement
 
Re : Question Select Case

Bonsoir,

Voici mon fichier.
La feuille "1" contient les données à mettre dans les tableaux, et la feuille prépa comporte les boutons des macros.

J'ai eu beaucoup de mal a alléger mon fichier.

J'espère qu'il est compréhensible malgré toute la mise en page que j'ai retirée.

En principe vous y trouverez les macros, soyez indulgents sur le code s'il vous plait.

D'avance merci.
 

Pièces jointes

Re : Question Select Case

La fonction Range peux accepter un range de type String
Range("A1:A10")

Mais aussi 2 fonctions Cells
A1= cells(1,1)
A10= cells(1,10)
Donc Range("A1:A10") = Range(cells(1,1), cells(1,10))

Ta fonction simplifié

Code:
Sub Select_et_remplace()
Dim Semaine_Mois As Integer
Semaine_Mois = (Range("D1").Value)
Dim Tc As Integer
Tc = (Range("E1").Value)

    Range("A4:AF350").Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

    Range("$B$365") = "=sum($B$4:$B$350) "

    Range("B365:B395").Select
    Selection.Copy
    Sheets("db").Select
    Range(Cells(7, Semaine_Mois - 29), Cells(37, Semaine_Mois - 29)).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Prepa").Select
    Sheets("Prepa").Select
    Range("B1").Select

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
313
Réponses
18
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…