Erreur VBA: Procédure trop longue
Bonsoir à toutes et tous et merci d'avance pour l'aide que vous pourrez sans doute m'apporter.
Je me heurte à un problème que jusqu'ici j'avais réussi à contourner (bidouillage) mais aujourd'hui j'ai besoin de votre aide.
j'ai crée un code (pas très simple) qui me permet d'importer au sein de textbox la valeur contenue dans des cellules excel. La procédure est trop longue et il m'est impossible d'avancer car je ne maîtrise pas suffisamment vba.
Si vous pouviez m'aider à simplifier mon code çà serait cool.
Voici le code un morceau du code:
le problème c'est que je l'utilise cette procédure autant de fois qu'il y a de nom dans ma combobox (soit 20 fois!!!!)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
| Private Sub comboboxconsultants_change()
If ComboBoxConsultants = "NOM Prénom" Then ==> la liste contient 20 NOMS (donc j'ai recopié 20 fois la procédure ......pas super!)
Sheets("Consultants").Select
Labelnom = "NOM prénom"
Set CurrentChart = Sheets("Consultants").ChartObjects(3).Chart
Sheets("Consultants").ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
FName = ThisWorkbook.Path & "\temp2.gif"
CurrentChart.Export Filename:=FName, FilterName:="GIF"
UserForm6.Image1.Picture = LoadPicture(FName)
If Dir(FName) <> "" Then Kill FName 'supprime le fichier temporaire'
Set CurrentChart = Sheets("Consultants").ChartObjects(4).Chart
Sheets("Consultants").ChartObjects("Graphique 2").Activate
ActiveChart.ChartArea.Select
FName = ThisWorkbook.Path & "\temp2.gif"
CurrentChart.Export Filename:=FName, FilterName:="GIF"
UserForm6.Image2.Picture = LoadPicture(FName)
If Dir(FName) <> "" Then Kill FName 'supprime le fichier temporaire'
'janvier
T1.Text = ThisWorkbook.Sheets("Consultants").Range("o57").Value
T2.Text = ThisWorkbook.Sheets("Consultants").Range("p57").Value
T3.Text = ThisWorkbook.Sheets("Consultants").Range("q57").Value
T4.Text = ThisWorkbook.Sheets("Consultants").Range("r57").Value
T5.Text = ThisWorkbook.Sheets("Consultants").Range("s57").Value
T6.Text = ThisWorkbook.Sheets("Consultants").Range("t57").Value
'fevrier
T7.Text = ThisWorkbook.Sheets("Consultants").Range("o58").Value
T8.Text = ThisWorkbook.Sheets("Consultants").Range("p58").Value
T9.Text = ThisWorkbook.Sheets("Consultants").Range("q58").Value
T10.Text = ThisWorkbook.Sheets("Consultants").Range("r58").Value
T11.Text = ThisWorkbook.Sheets("Consultants").Range("s58").Value
T12.Text = ThisWorkbook.Sheets("Consultants").Range("t58").Value
'mars
T13.Text = ThisWorkbook.Sheets("Consultants").Range("o59").Value
T14.Text = ThisWorkbook.Sheets("Consultants").Range("p59").Value
T15.Text = ThisWorkbook.Sheets("Consultants").Range("q59").Value
T16.Text = ThisWorkbook.Sheets("Consultants").Range("r59").Value
T17.Text = ThisWorkbook.Sheets("Consultants").Range("s59").Value
T18.Text = ThisWorkbook.Sheets("Consultants").Range("t59").Value
'avril
T19.Text = ThisWorkbook.Sheets("Consultants").Range("o60").Value
T20.Text = ThisWorkbook.Sheets("Consultants").Range("p60").Value
T21.Text = ThisWorkbook.Sheets("Consultants").Range("q60").Value
T22.Text = ThisWorkbook.Sheets("Consultants").Range("r60").Value
T23.Text = ThisWorkbook.Sheets("Consultants").Range("s60").Value
T24.Text = ThisWorkbook.Sheets("Consultants").Range("t60").Value
'mai
T25.Text = ThisWorkbook.Sheets("Consultants").Range("o61").Value
T26.Text = ThisWorkbook.Sheets("Consultants").Range("p61").Value
T27.Text = ThisWorkbook.Sheets("Consultants").Range("q61").Value
T28.Text = ThisWorkbook.Sheets("Consultants").Range("r61").Value
T29.Text = ThisWorkbook.Sheets("Consultants").Range("s61").Value
T30.Text = ThisWorkbook.Sheets("Consultants").Range("t61").Value
'juin
T31.Text = ThisWorkbook.Sheets("Consultants").Range("o62").Value
T32.Text = ThisWorkbook.Sheets("Consultants").Range("p62").Value
T33.Text = ThisWorkbook.Sheets("Consultants").Range("q62").Value
T34.Text = ThisWorkbook.Sheets("Consultants").Range("r62").Value
T35.Text = ThisWorkbook.Sheets("Consultants").Range("s62").Value
T36.Text = ThisWorkbook.Sheets("Consultants").Range("t62").Value
'juillet
T37.Text = ThisWorkbook.Sheets("Consultants").Range("o63").Value
T38.Text = ThisWorkbook.Sheets("Consultants").Range("p63").Value
T39.Text = ThisWorkbook.Sheets("Consultants").Range("q63").Value
T40.Text = ThisWorkbook.Sheets("Consultants").Range("r63").Value
T41.Text = ThisWorkbook.Sheets("Consultants").Range("s63").Value
T42.Text = ThisWorkbook.Sheets("Consultants").Range("t63").Value
'aout
T43.Text = ThisWorkbook.Sheets("Consultants").Range("o64").Value
T44.Text = ThisWorkbook.Sheets("Consultants").Range("p64").Value
T45.Text = ThisWorkbook.Sheets("Consultants").Range("q64").Value
T46.Text = ThisWorkbook.Sheets("Consultants").Range("r64").Value
T47.Text = ThisWorkbook.Sheets("Consultants").Range("s64").Value
T48.Text = ThisWorkbook.Sheets("Consultants").Range("t64").Value
'septembre
T49.Text = ThisWorkbook.Sheets("Consultants").Range("o65").Value
T50.Text = ThisWorkbook.Sheets("Consultants").Range("p65").Value
T51.Text = ThisWorkbook.Sheets("Consultants").Range("q65").Value
T52.Text = ThisWorkbook.Sheets("Consultants").Range("r65").Value
T53.Text = ThisWorkbook.Sheets("Consultants").Range("s65").Value
T54.Text = ThisWorkbook.Sheets("Consultants").Range("t65").Value
'octobre
T55.Text = ThisWorkbook.Sheets("Consultants").Range("o66").Value
T56.Text = ThisWorkbook.Sheets("Consultants").Range("p66").Value
T57.Text = ThisWorkbook.Sheets("Consultants").Range("q66").Value
T58.Text = ThisWorkbook.Sheets("Consultants").Range("r66").Value
T59.Text = ThisWorkbook.Sheets("Consultants").Range("s66").Value
T60.Text = ThisWorkbook.Sheets("Consultants").Range("t66").Value
'novembre
T61.Text = ThisWorkbook.Sheets("Consultants").Range("o67").Value
T62.Text = ThisWorkbook.Sheets("Consultants").Range("p67").Value
T63.Text = ThisWorkbook.Sheets("Consultants").Range("q67").Value
T64.Text = ThisWorkbook.Sheets("Consultants").Range("r67").Value
T65.Text = ThisWorkbook.Sheets("Consultants").Range("s67").Value
T66.Text = ThisWorkbook.Sheets("Consultants").Range("t67").Value
'decembre
T67.Text = ThisWorkbook.Sheets("Consultants").Range("o68").Value
T68.Text = ThisWorkbook.Sheets("Consultants").Range("p68").Value
T69.Text = ThisWorkbook.Sheets("Consultants").Range("q68").Value
T70.Text = ThisWorkbook.Sheets("Consultants").Range("r68").Value
T71.Text = ThisWorkbook.Sheets("Consultants").Range("s68").Value
T72.Text = ThisWorkbook.Sheets("Consultants").Range("t68").Value
TR1 = [p73] 'trimestre'
TR2 = [q73]
TR3 = [r73]
TR4 = [s73]
End If
End sub |
Merci pour votre aide.
Bonne soirée
réponse erreur VBA procédure trop longue
Bonsoir Matiou73,
Merci pour cette réponse.
Je viens de remplacer le code
cependant j'ai le message d'erreur suivant:
impossible de définir la propriété texte de la classe Range:?
Bonne soirée
réponse erreur VBA procédure trop longue
Bonsoir,
je viens d'essayer avec Cells(i,20).value mais malheureusement çà ne marche pas.
Je vais suivre tes conseils et regarder dans la fenêtre espion.
Merci! :)
2 pièce(s) jointe(s)
EREEUR PROCEDURE TROP LONGUE
Bonjour,
oui, cela ressemble à ce tableau excel.
En pièce jointe: les éléments demandés.
Bonne matinée
Pièce jointe 220415
réponse erreur VBA procédure trop longue
Les textboxs me permettent de visualiser la production mois par mois des consultants.
cordialement
EREEUR PROCEDURE TROP LONGUE
Oui, uniquement visualiser sans modification de données
EREEUR PROCEDURE TROP LONGUE
re-Bonjour et merci
Je vais tester et vous reviens.
EREEUR PROCEDURE TROP LONGUE
Unparia,
Tout simplement génial! Ça marche parfaitement.Merci!
En revanche sur mon document original, mes tableaux sont les un en dessous des autres.
bon après midi