[RESOLU] - Range et Select

  • Initiateur de la discussion Initiateur de la discussion Arnaud1977
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Arnaud1977

Guest
Bonjour à tous,

Voilà mon problème est le suivant:

erreur 1004 la méthode select de la classe range a échoué

Voici mon code et le problème en gras. Cette même ligne de code fonctionne très bien dans un autre fichier et je ne vois pas l'erreur

D'avance merci

Dim Immat As String
Dim marque As String
Dim date1 As String
Dim heure As String
Dim lieu As String
Dim i As Integer
Dim j As Integer

Sub Ajouter_Click()

Immat = Sheets("Accueil").Range("A12")
Sheets("Accueil").Range("B12") = V1.Value
marque = V1.Value
Sheets("Accueil").Range("E12") = L1.Value
lieu = L1.Value
heure = Sheets("Accueil").Range("D12")
date1 = Sheets("Accueil").Range("C12")

If (Immat = "" Or date1 = "" Or heure = "" Or marque = "" Or lieu = "") Then
MsgBox "tous les champs doivent être renseigné"
Else
For i = 2 To 10000
If Sheets("ListeAvertissements").Range("A" & i).Text Like Immat Then
MsgBox "Cette immatriculation existe déjà"
Else
Sheets("Accueil").Range("A12:E12").Select
Selection.Copy
Sheets("ListeAvertissements").Select
Range("A1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End If
Next i
If Sheets("ListeAvertissements").Range("B" & i) <> marque Then
'ici code copie marque voiture
MsgBox "copie voiture"
End If

If Sheets("ListeAvertissements").Range("E" & i) <> lieu Then
MsgBox "copie lieu"
End If
End If
End Sub
 
Dernière modification par un modérateur:
Re : Range et Select

RE

Sinon teste ce code qui fonctionne sur XL2007 en le mettant dans un nouveau classeur avec Une Feuil1 et 2.

Code:
Sub test()
Sheets("Feuil1").Select
Sheets("Feuil1").Range("A12:E12").Select
 Selection.Copy
 Sheets("Feuil2").Select
ActiveSheet.Range("A" & Range("A65536").End(xlUp).Row).Offset(1, 0).Select
 ActiveSheet.Paste
End Sub

Après, il faudra debugger pour voir où et pourquoi cela cloche.
 
Re : Range et Select

Bonjour Arnaud1977, Bonjour MJ13 🙂, Je me permet une incursion:
VB:
Sub Ajouter_Click()
Laisse penser que le code est dans une feuille.
VB:
Sheets("ListeAvertissements").Select
Active une autre feulle que celle portant la macro, mais comme le code est dans une feuille, la ligne
VB:
Range("A1").End(xlDown).Offset(1, 0).Select
demande à selectionner une cellule de la feuille qui porte la macro.... et qui n'est plus active...Il faut utiliser
VB:
Sheets("ListeAvertissements").Range("A1").End(xlDown).Offset(1, 0).Select
Si tant est qu'il soit nécessaire de sélectionner ces pauvres cellules qui n'ont rien fait : ) ). Cordialement
 
Re : Range et Select

Bonjour et merci pour votre aide. Finalement après avoir suivit vos indications et fait plusieurs modifications mon problème est résolu. Je vous communique le code fonctionnel.

Sub Ajouter()

Immat = Sheets("Accueil").Range("A13")
Immat = Replace(Immat, " ", "")
Marque = Sheets("Accueil").Range("B13")
Date1 = Sheets("Accueil").Range("C13")
Heure = Sheets("Accueil").Range("D13")
Lieu = Sheets("Accueil").Range("E13")

If (Immat = "" Or Marque = "" Or Date1 = "" Or Heure = "" Or Lieu = "") Then
MsgBox "tous les champs doivent être renseigné"
Else
For i = 2 To 5000
Immat2 = Sheets("Avertissements").Range("A" & i)
Immat2 = Replace(Immat2, " ", "")
If (Immat2 <> "") Then
If Immat2 = Immat Then
MsgBox "Cette immatriculation existe déjà"
i = 5001
End If
Else
Sheets("Accueil").Range("A13 : E13").Copy
Sheets("Avertissements").Select
Range("A1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
i = 5001
End If
Next i
End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
779
Réponses
4
Affichages
730
Réponses
5
Affichages
909
Retour