Erreur 1004
lorsque l'on arrive a (Cells(trouvequinc_, colquinc_).Select) j’obtiens erreur 1004
Worksheets("pieces").Activate
trouvequinc_ = 5
While trouvequinc_ < 8
Cells(trouvequinc_, colquinc_).Select
If ActiveCell > 0 Then
MsgBox "trouver"
End If
trouvequinc_ = trouvequinc_ + 1
Wend
Sheets("Francais").Activate
End If
Bonjour Robert,
c'est juste une piste :
Worksheets("pieces").Activate
trouvequinc_ = 5
Do While trouvequinc_ < 8
Cells(trouvequinc_, colquinc_).Select
If ActiveCell > 0 Then
MsgBox "trouvé": Exit Do
End If
trouvequinc_ = trouvequinc_ + 1
Loop
Worksheets("Francais").Activatedhany
ajout : si ça t'a aidé à régler ton problème, merci de passer le sujet en résolu : il suffit de cliquer sur le bouton près de (regarde dans le coin haut droit du post) ; ça permet aussi de clôturer le fil de la discussion.
sinon, pour t'aider davantage, il faudrait ton classeur (sans données confidentielles) ; pour cela, tu peux utiliser le bouton « Ajouter des fichiers » qui est situé juste sous la fenêtre d'édition de ton post.
dhany
ajout 2 :
ton instruction qui sélectionne une cellule est celle-ci : Cells(trouvequinc_, colquinc_).Select
pour que ça marche, il faut que la feuille de la cellule sélectionnée soit la feuille active ; si cette feuille est "pieces" (que tu as activé plus haut) : ok ; mais si c'est sur une autre feuille, faut d'abord sélectionner cette autre feuille ; et de toute façon, c'est mieux d'éviter la sélection :
Worksheets("pieces").Activate
trouvequinc_ = 5
Do While trouvequinc_ < 8
If Cells(trouvequinc_, colquinc_) > 0 Then
MsgBox "trouvé": Exit Do
End If
trouvequinc_ = trouvequinc_ + 1
Loop
Worksheets("Francais").Activateen plus, si c'est pour une autre feuille, par exemple "Feuil5", tu peux mettre :
Worksheets("pieces").Activate
trouvequinc_ = 5
Do While trouvequinc_ < 8
If Worksheets("Feuil5").Cells(trouvequinc_, colquinc_) > 0 Then
MsgBox "trouvé": Exit Do
End If
trouvequinc_ = trouvequinc_ + 1
Loop
Worksheets("Francais").Activatebien sûr, tu dois aussi vérifier :
* que trouvequinc_ est un bon n° de ligne
* que colquinc_ est un bon n° de colonne
« quinc » comme « quincaillerie » ?
mais comme j'te disais, sans ton fichier, c'est pas évident !
dhany
Merci de me donné un coup de main.
je suis positionné dans une cellule sur la premier onglet de mon classeur (francais)
puis j'active un second onglet (pieces) je veux me positionner sur la premiere lignes dans la bonne colonne
trouvequinc_ est le numero de ligne
colquinc_ est le numero de colonne que je veux verifier
je verifie que si la cellule est > 0 je desire copier la ligne complete dans un autre onglet
sinon je passe a la ligne suivante jusqu'a la derniere ligne
*le probleme est des que jactive la cellule dans mon 2e onglet il me sort errer 1004
meme si je n'active pas la cellule jai essay avec msgbox de lire ce quil y a dans la cellule mais msgbox renvoi un message vide?
voila mon code
Private Sub quincaillerie_Click()
Sheets("Francais").Activate
Range("A15").Select
Dim serie_ As String
Dim larg_ As Single
Dim haut_ As Single
Dim numero As Integer
Dim tourne_ As Boolean
Dim colquinc_ As String
Dim trouvequinc_ As String
'numero = ActiveCell.Row 'Numéro de départ (correspond ici au n° de ligne et au n° de numérotation)
numero = 16
tourne_ = True
While tourne_ = True 'tant que tourne_= vrai
Cells(numero, 11).Select
serie_ = Cells(numero, 11)
If Cells(numero, 11) <> "" Then
Select Case serie_
Case Is = "Fenetre OB simple"
colquinc_ = 39
Case Is = "Fenetre fixe"
colquinc_ = 43
Case Is = "Fenetre Guillotine S"
colquinc_ = 41
Case Is = "Fenetre Guillotine D"
colquinc_ = 42
Case Is = "Porte coulissante levante"
colquinc_ = 53
Case Is = "Porte OB"
colquinc_ = 49
Case Is = "Porte OB Double"
colquinc_ = 49
Case Is = "Porte Européenne"
colquinc_ = 50
Case Is = "Porte Européenne double"
colquinc_ = 50
Case Is = "Porte Américaine"
colquinc_ = 51
Case Is = "SL gauche"
colquinc_ = 0
Case Is = "SL droit"
colquinc_ = 0
Case Is = "Imposte"
colquinc_ = 0
Case Is = "Thermos seul"
colquinc_ = 0
Case Else
colquinc_ = 0
End Select
Worksheets("pieces").Activate
trouvequinc_ = 5
While trouvequinc_ < 8
' MsgBox Cells(trouvequinc_, colquinc_)
Cells(8, 8).Select 'le message d erreur 1004 arrive a cette ligne
'Cells(trouvequinc_, colquinc_).Select
If ActiveCell > 0 Then
MsgBox "trouver"
End If
trouvequinc_ = trouvequinc_ + 1
Wend
Sheets("Francais").Activate
End If
'Windows("master temp2.xlsm").Activate
numero = numero + 1 'Le numéro est augmenté de 1 à chaque boucle
' Else
tourne_ = False
'End If
Wend
End Sub