Erreur 1004 - Rechercher l'intitulé d'une Colonne ou d'une Ligne pour la masquer

Artic

XLDnaute Nouveau
Bonjour,

J'interviens dans la création d'un petit "logiciel" de gestion de KPI avec Excel. Je précise que mes connaissances du VBA sont proches de 0, et que je me suis débrouillé jusque là avec les moyens du bord. Il se peut donc que ce code vous paraisse totalement amateur, c'est le cas. C'est du bricolage.

Le code que je vous soumet sur lequel je bloque est l'action de mon UserForm "Sortie d'un salarié".

On sélectionne le nom du salarié (Combobox3), le numéro de la semaine (Combobox2), et on clique sur confirmer la sortie (CommandButton1)

De la les actions voulues sont :

- Rechercher dans une plage d'entêtes dans la feuille "PARAMETRES" cacher la colonne qui a pour entête le nom du salarié (Combobox3)

- Dans la feuille "suivi heures" cacher la ligne qui a pour entête le nom du salarié (Combobox3)

- Dans chacune des 52 feuilles qui représentent chacune des 52 semaines qui sont les 52 premières feuilles du classeur pour coller à l'index, cacher la colonne qui a pour entête le nom du salarié (Combobox3), à partir de la semaine précisée (Combobox2)

Je précise que tout marche pour l'ajout des salariés.

L'erreur : 1004 : La méthode Select de la classe Range a échoué (sur la ligne surlignée dans le code ci dessous)

Private Sub CommandButton1_Click()

If MsgBox("Confirmez vous la sortie du salarié ?", vbYesNo, "Confirmation de la sortie") = vbYes Then

With Sheets("PARAMETRAGE").Range("b7:aq7")

Dim c As Range

Set c = .Find(ComboBox3.Value, LookIn:=xlValues)
If Not c Is Nothing Then firstAddress = c.Address

c.Select

Selection.EntireColumn.Hidden = True

End With

With Sheets("suivi heures").Range("b2:b41")

Dim c As Range

Set c = .Find(ComboBox3.Value, LookIn:=xlValues)
If Not c Is Nothing Then firstAddress = c.Address

c.Select

Selection.EntireRow.Hidden = True

End With

a = ComboBox2.Value


boucle1:
a = a + 1


If a <= 52 Then GoTo test1 Else GoTo test2

test1:

With Sheets(a).Range("b2:ax2")

Dim d As Range

Set d = .Find(ComboBox3.Value, LookIn:=xlValues)
If Not d Is Nothing Then firstAddress = c.Address

Selection.EntireColumn.Hidden = True

End With

GoTo boucle1

test2:

With Sheets(a).Range("b2:ax2")

Set d = .Find(ComboBox3.Value, LookIn:=xlValues)
If Not d Is Nothing Then firstAddress = c.Address

Selection.EntireColumn.Hidden = True

End With

End If

End Sub


D'avance merci à vous pour votre aide.
 

Paf

XLDnaute Barbatruc
Re : Erreur 1004 - Rechercher l'intitulé d'une Colonne ou d'une Ligne pour la masquer

Bonjour

If Not c Is Nothing Then firstAddress = c.Address
oui, mais si c is Nothing, c.Select, ne peut pas fonctionner

peut-être modifier le test:
Code:
If  c Is Nothing Then 
   MsgBox " Non Trouvé"
   Exit Sub
End If

firstAddress = c.Address
c.EntireColumn.Hidden = True
....

A+
 

Discussions similaires

Réponses
2
Affichages
176
Réponses
12
Affichages
615

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet