Remplace la ligne 6 du code de MacKay par ceci
Code:Range(Cells(2, lettrecol), Cells(Columns(lettrecol).End(xlDown).Row, lettrecol)).Select
Version imprimable
Remplace la ligne 6 du code de MacKay par ceci
Code:Range(Cells(2, lettrecol), Cells(Columns(lettrecol).End(xlDown).Row, lettrecol)).Select
Faudrait pas remplacer lettrecol par col? Non parce que des lettres pour paramétres dans cells... :D
Oups pardon j'ai lu trop vite :mouarf:
Code:Range(Cells(2, col), Cells(Columns(col).End(xlDown).Row, col)).Select
toujours le même erreur 1004
A quoi correspond la variable sheetName?
Quelle est sa valeur?
c'est une chaîne de caractère qui est la feuil ou il faut aller sélectionner les lignes...
Va falloir que tu nous donnes plus de code, l'erreur doit venir d'autre part.
J'ai pensé à la variable sheetName car on ne connait pas sa véritable valeur ni le nom de la feuille, l'erreur vient peut être de là.
voila le code complet :
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 Private Sub CommandButton_Valider_Click() If MsgBox("confirmez-vous la cration d'organigramme ?", vbYesNo, "confirmation") = vbYes Then If FeuilleExiste(ComboBox_Respb.Value) = False Then Worksheets("organigramme resposanble").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = ComboBox_Respb Worksheets(ComboBox_Respb.Value).Cells(6, 8).Value = ComboBox_Respb.Value Worksheets(ComboBox_Respb.Value).Cells(5, 8).Value = ComboBox_role.Value Else MsgBox "La feuille '" + ComboBox_Respb.Value + "' existe déjà." End If End If 'If Worksheets(ComboBox_role.Value).Cells(1, 1).Value = ComboBox_Respb.Value Then 'Worksheets(ComboBox_Respb.Value).Range("I8").Value = Worksheets(ComboBox_role.Value).Range("A2:A40").Value 'End If Dim col As Integer Dim sheetName As String sheetName = ComboBox_role.Text For col = 1 To 4 If (ComboBox_Respb.Value = Worksheets(sheetName).Cells(1, col).Value) Then Worksheets(sheetName).Activate Worksheets(sheetName).Cells(1, col).End(xlDown).Select 'Range(Cells(2, col), Cells(Columns(col).End(xlDown).Row, col)).Select 'MsgBox "trouvé" Exit For End If Next End Sub Function FeuilleExiste(MaFeuille As String) As Boolean Dim Feuille As Worksheet FeuilleExiste = False For Each Feuille In Worksheets If (Feuille.Name = MaFeuille) Then FeuilleExiste = True End If Next Feuille End Function