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").Activate

dhany

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").Activate

en 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").Activate

bien 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

Rechercher des sujets similaires à "erreur 1004"