Aide pour simplification code recopie colonne

bonjour,

Je m excuse de la longueur du code copié

La question porte sur le test case qui va de 1 jusqu' à 30

J ai un tableau dans lequel je recopie les valeurs d une de ces colonnes (partant de "bo") dans diverses cellules (les cellules de destinations sont tjrs les même) suivant une valeur de test case.

La méthode que j'ai employé est excessivement longue et me bloque rapidement car j ai un nombre d arguments trop importants.

Quel peut être le code qui me simplifierait cette quantité importante de lignes ?

merci de votre aide

Sub loadbankbis()

'enlever le message de confirmation remplacement cellules
Application.DisplayAlerts = False
Application.ScreenUpdating = False

'mise en état consigne des t°c
'f1-f2
Range("p79") = "faux"
Range("p80") = "faux"
Range("p81") = "faux"
Range("p82") = "faux"

Application.Calculation = xlManual
    test = Range("k19")
    Select Case test    ' <= la valeur à tester (ici, la note)

           Case Is = 1         ' <= si la valeur = 1

Range("bl6") = Range("bo6")
Range("bl7") = Range("bo7")
Range("bl8") = Range("bo8")
Range("ao11") = Range("bo9")
Range("bl10") = Range("bo10")
Range("bl11") = Range("bo11")
Range("ah63") = Range("bo12")
Range("bl13") = Range("bo13")
Range("ah66") = Range("bo14")
Range("bl15") = Range("bo15")
Range("ah69") = Range("bo16")
Range("ai36") = Range("bo17")
Range("ah39") = Range("bo18")
Range("ah45") = Range("bo19")
Range("ah42") = Range("bo20")
Range("al60") = Range("bo21")
Range("ah57") = Range("bo22")
Range("ah60") = Range("bo23")
Range("Q33") = Range("bo24")
Range("ah72") = Range("bo25")
Range("ah74") = Range("bo26")
Range("ah77") = Range("bo27")
Range("ah79") = Range("bo28")
Range("ah83") = Range("bo29")
Range("ah85") = Range("bo30")
Range("ah88") = Range("bo31")
Range("ak63") = Range("bo32")
Range("ak67") = Range("bo33")
Range("ah48") = Range("bo34")
Range("au16") = Range("bo35")
Range("au17") = Range("bo36")
Range("ah50") = Range("bo37")
Range("ai35") = Range("bo38")
Range("bl39") = Range("bo39")
Range("ah118") = Range("bo40")
Range("ah91") = Range("bo41")
Range("aj121") = Range("bo42")
Range("n33") = Range("bo43")
Range("ah62") = Range("bo44")
Range("ai58") = Range("bo45")
Range("ah20") = Range("bo46")
Range("ak64") = Range("bo47")
Range("u76") = Range("bo48")

           Case Is = 2         ' <= si la valeur = 2

Range("bl6") = Range("bp6")
Range("bl7") = Range("bp7")
Range("bl8") = Range("bp8")
Range("ao11") = Range("bp9")
Range("bl10") = Range("bp10")
Range("bl11") = Range("bp11")
Range("ah63") = Range("bp12")
Range("bl13") = Range("bp13")
Range("ah66") = Range("bp14")
Range("bl15") = Range("bp15")
Range("ah69") = Range("bp16")
Range("ai36") = Range("bp17")
Range("ah39") = Range("bp18")
Range("ah45") = Range("bp19")
Range("ah42") = Range("bp20")
Range("al60") = Range("bp21")
Range("ah57") = Range("bp22")
Range("ah60") = Range("bp23")
Range("q33") = Range("bp24")
Range("ah72") = Range("bp25")
Range("ah74") = Range("bp26")
Range("ah77") = Range("bp27")
Range("ah79") = Range("bp28")
Range("ah83") = Range("bp29")
Range("ah85") = Range("bp30")
Range("ah88") = Range("bp31")
Range("ak63") = Range("bp32")
Range("ak67") = Range("bp33")
Range("ah48") = Range("bp34")
Range("au16") = Range("bp35")
Range("au17") = Range("bp36")
Range("ah50") = Range("bp37")
Range("ai35") = Range("bp38")
Range("bl39") = Range("bp39")
Range("ah118") = Range("bp40")
Range("ah91") = Range("bp41")
Range("aj121") = Range("bp42")
Range("n33") = Range("bp43")
Range("ah62") = Range("bp44")
Range("ai58") = Range("bp45")
Range("ah20") = Range("bp46")
Range("ak64") = Range("bp47")
Range("u76") = Range("bp48")

        Case Is = 3         ' <= si la valeur = 3

Range("bl6") = Range("bq6")
Range("bl7") = Range("bq7")
Range("bl8") = Range("bq8")
Range("ao11") = Range("bq9")
Range("bl10") = Range("bq10")
Range("bl11") = Range("bq11")
Range("ah63") = Range("bq12")
Range("bl13") = Range("bq13")
Range("ah66") = Range("bq14")
Range("bl15") = Range("bq15")
Range("ah69") = Range("bq16")
Range("ai36") = Range("bq17")
Range("ah39") = Range("bq18")
Range("ah45") = Range("bq19")
Range("ah42") = Range("bq20")
Range("al60") = Range("bq21")
Range("ah57") = Range("bq22")
Range("ah60") = Range("bq23")
Range("q33") = Range("bq24")
Range("ah72") = Range("bq25")
Range("ah74") = Range("bq26")
Range("ah77") = Range("bq27")
Range("ah79") = Range("bq28")
Range("ah83") = Range("bq29")
Range("ah85") = Range("bq30")
Range("ah88") = Range("bq31")
Range("ak63") = Range("bq32")
Range("ak67") = Range("bq33")
Range("ah48") = Range("bq34")
Range("au16") = Range("bq35")
Range("au17") = Range("bq36")
Range("ah50") = Range("bq37")
Range("ai35") = Range("bq38")
Range("bl39") = Range("bq39")
Range("ah118") = Range("bq40")
Range("ah91") = Range("bq41")
Range("aj121") = Range("bq42")
Range("n33") = Range("bq43")
Range("ah62") = Range("bq44")
Range("ai58") = Range("bq45")
Range("ah20") = Range("bq46")
Range("ak64") = Range("bq47")
Range("u76") = Range("bq48")

       Case Is = 4        ' <= si la valeur = 4

........Case Is = 30

Bonjour,

... Ne penses-tu pas qu'un bout de ton fichier (ou un exemple simplifié, mais qui illustrerait la situation serait utile? On est supposé comprendre ce que tu voudrais faire, sur base de ce code effectivement un peu longuet?

Une solution par formule -si elle permettait de simplifier le travail- ne t'intéresserait pas?

Je vais passer par une recherche v en ajoutant une colonne et cela sera plus simple, mais j aurais bien voulu savoir comment faire uniquement en vba

Merci, a +

dann a écrit :

j aurais bien voulu savoir comment faire uniquement en vba

J'entends bien, mais sans fichier, je ne peux pas donner d'indications!

Si d'autres veulent se lancer, ... tu n'as plus qu'à patienter!

Rechercher des sujets similaires à "aide simplification code recopie colonne"