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 +
J'entends bien, mais sans fichier, je ne peux pas donner d'indications!dann a écrit :j aurais bien voulu savoir comment faire uniquement en vba
Si d'autres veulent se lancer, ... tu n'as plus qu'à patienter!