Probleme macro recherche
relomydie
-
relomydie -
relomydie -
Bonjour,
j'ai un souci avec la macro suivante:
Private Sub CommandButton5_Click()
arg1 = Cells(17, 1)
If arg1 > 0 Then
Worksheets("Feuil3").Select
Range(arg1).Select
End If
End Sub
et le message "la méthode range de l'objet worksheets a échoué", pourquoi?
Je veux simplement qu'il me trouve une cellule dans une autre feuille.
Merci de votre aide
j'ai un souci avec la macro suivante:
Private Sub CommandButton5_Click()
arg1 = Cells(17, 1)
If arg1 > 0 Then
Worksheets("Feuil3").Select
Range(arg1).Select
End If
End Sub
et le message "la méthode range de l'objet worksheets a échoué", pourquoi?
Je veux simplement qu'il me trouve une cellule dans une autre feuille.
Merci de votre aide
A voir également:
- Probleme macro recherche
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Recherche image - Guide
7 réponses
tu confonds objet et variable
qu'y-t-il dans arg1? ou quel est le contenu de cell(17,1)?
veux-tu te déplacer à l'adresse indiquée dans "arg1" ou aller à cell(17,1) sur la feuille3?
tu devrais écrire qq chose comme ça
set arg1=range("A17") ' objet contenant toutes les infos de la cellule A17
If arg1.value > 0 Then
Worksheets("Feuil3").Select
Range(arg1.address).Select
End If
En espérant que cela t'aidera
qu'y-t-il dans arg1? ou quel est le contenu de cell(17,1)?
veux-tu te déplacer à l'adresse indiquée dans "arg1" ou aller à cell(17,1) sur la feuille3?
tu devrais écrire qq chose comme ça
set arg1=range("A17") ' objet contenant toutes les infos de la cellule A17
If arg1.value > 0 Then
Worksheets("Feuil3").Select
Range(arg1.address).Select
End If
En espérant que cela t'aidera
alors j'ai essayé mais le message suivant apparaît "la methode select de la classe range a échoué".
En fait ce que je souhaite faire c'est avoir une macro qui me cherche la cellule A17 de la feuille fiche chantier dans la feuille 3 et qu'il se positionne dessus.
En fait ce que je souhaite faire c'est avoir une macro qui me cherche la cellule A17 de la feuille fiche chantier dans la feuille 3 et qu'il se positionne dessus.
bon j'avais pas bien compris.
' arg1 est une variable
Sub test()
arg1 = Range("A17").Value ' Valeur de A17 mis dans arg1
If arg1 > 0 Then
Sheets("Feuil3").Select ' si la feuille s'appelle bien "Feuil3" dans le même classeur
Range("a17").Select ' on va à la cellule A17
End If
ne confond pas non plus Sheets : la feuille du classeur
et workbook le classeur.
j'ai testé ça fonctionne.
' arg1 est une variable
Sub test()
arg1 = Range("A17").Value ' Valeur de A17 mis dans arg1
If arg1 > 0 Then
Sheets("Feuil3").Select ' si la feuille s'appelle bien "Feuil3" dans le même classeur
Range("a17").Select ' on va à la cellule A17
End If
ne confond pas non plus Sheets : la feuille du classeur
et workbook le classeur.
j'ai testé ça fonctionne.
" Vois-tu une erreur de frappe? " non mais un oubli peu-être
sur quelle feuille commences-tu? ou est ton bouton?
En supposant sur la feuille1
la methode select échoue si l'enfant ou le parent n'est pas accessible.
la cellule dépend de la feuille.
sépare feuille et cellule et tu sauras ce qui ne va pas.
un exemple ci dessous.
Private Sub CommandButton5_Click()
sheets("Feuil1").select
arg1 = Range("a17")
If arg1 > 0 Then
Sheets("Feuil3").Select
Range("a17").Select
End If
End Sub
sur quelle feuille commences-tu? ou est ton bouton?
En supposant sur la feuille1
la methode select échoue si l'enfant ou le parent n'est pas accessible.
la cellule dépend de la feuille.
sépare feuille et cellule et tu sauras ce qui ne va pas.
un exemple ci dessous.
Private Sub CommandButton5_Click()
sheets("Feuil1").select
arg1 = Range("a17")
If arg1 > 0 Then
Sheets("Feuil3").Select
Range("a17").Select
End If
End Sub
"sur quelle feuille commences-tu?" "ou es ton bouton"
Je commence sur la feuille fiche chantier et le bouton est sur cette feuille.
Je souhaite que la macro recherche la valeur de la cellule A17 de la feuille fiche chantier et la trouve et se positionne dans la feuille 3.
MAis en rajoutant sheets("fiche chantier").select le message apparaît toujours.
Par exemple, la cellule A17 de la feuille fiche chantier est: A170763depl (cette valeur est une concaténation de deux cellules voisines)
Je veux que la macro me trouve cette valeur dans la feuille 3 et se positionne dessus.
Je ne sais pas si c'est plus clair?
Je commence sur la feuille fiche chantier et le bouton est sur cette feuille.
Je souhaite que la macro recherche la valeur de la cellule A17 de la feuille fiche chantier et la trouve et se positionne dans la feuille 3.
MAis en rajoutant sheets("fiche chantier").select le message apparaît toujours.
Par exemple, la cellule A17 de la feuille fiche chantier est: A170763depl (cette valeur est une concaténation de deux cellules voisines)
Je veux que la macro me trouve cette valeur dans la feuille 3 et se positionne dessus.
Je ne sais pas si c'est plus clair?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bon j'ai trouvé mes excuses.
dans command buton 5 tu mets
call recherche1 ' par exemple
end sub
puis alt f11
insertion module
et tu mets ça et c'est ok
Sub recherche1()
arg1 = Range("A17").value
Sheets("feuil3").Select
Range(arg1).Select
End Sub
si tu as besoin n'hésite pas
dans command buton 5 tu mets
call recherche1 ' par exemple
end sub
puis alt f11
insertion module
et tu mets ça et c'est ok
Sub recherche1()
arg1 = Range("A17").value
Sheets("feuil3").Select
Range(arg1).Select
End Sub
si tu as besoin n'hésite pas
Ok donc pour la valeur 3, je ne comprends pas trop.
Que faudrait il à la place? car ce qu'il signifie reste un mystere....
Car en tapant cette macro j'obtiens le message suivant:
"la méthode select de la classe range a échoué".
Je dois terminer ce programme pour le boulot avant ce soir et tout allait bien jusqu'à cette macro.
Penses-tu qu'il y a un moyen plus simple en faisant une macro, de faire une recheche de cellule d'une feuille dans une autre?
Merci beaucoup de prendre de ton temps pour m'aider
Que faudrait il à la place? car ce qu'il signifie reste un mystere....
Car en tapant cette macro j'obtiens le message suivant:
"la méthode select de la classe range a échoué".
Je dois terminer ce programme pour le boulot avant ce soir et tout allait bien jusqu'à cette macro.
Penses-tu qu'il y a un moyen plus simple en faisant une macro, de faire une recheche de cellule d'une feuille dans une autre?
Merci beaucoup de prendre de ton temps pour m'aider
D'après les informations que tu donnes
La cellule A17 contient A170763depl
la fonction left récupère dans arg1 les 3 premiers charactère soit A17
sheets("Feuil3").select ' selectionne la feuille
la méthode range(arg1).select correspond à range("A17") et celle-ci fonctionne très bien chez moi
je ne vois pas où est le problème
Essaie d'executer le code en pas à pas F8 et regarde le contenu de arg1
La cellule A17 contient A170763depl
la fonction left récupère dans arg1 les 3 premiers charactère soit A17
sheets("Feuil3").select ' selectionne la feuille
la méthode range(arg1).select correspond à range("A17") et celle-ci fonctionne très bien chez moi
je ne vois pas où est le problème
Essaie d'executer le code en pas à pas F8 et regarde le contenu de arg1
En fait pour explication
dans la cellule A17 tu fais une concaténation et A17 contient A17xxxxx
pour être sûr de récupérer cette adresse il te faudrait un espace par exemple : A17 xxxxx
ou une autre information mais cela c'est toi qui doit le dire
la méthode range qui échoue, dans commandbutton là je n'ai pas d'idées.
j'utilise ces boutons pour lancer un module VBA
dans la cellule A17 tu fais une concaténation et A17 contient A17xxxxx
pour être sûr de récupérer cette adresse il te faudrait un espace par exemple : A17 xxxxx
ou une autre information mais cela c'est toi qui doit le dire
la méthode range qui échoue, dans commandbutton là je n'ai pas d'idées.
j'utilise ces boutons pour lancer un module VBA
voici ce que tu écris
' Par exemple, la cellule A17 de la feuille fiche chantier est: A170763depl
'je suppose donc que A17 de la feuille chantier contient : A170763depl
si arg1 prend la valeur "A170763depl" il ne trouvera pas d'adresse correspondante.
j'ai donc changé comme ci-après mais le code pas "propre en ce sens
que la valeur 3 est arbitraire dans : arg1 = Left(Range("a17").Value, 3)
il faudrait pouvoir obtenir un argument de recherche supplémentaire
à moins que cela te convienne.
Sub recherche1()
arg1 = Left(Range("a17").Value, 3)
Sheets("feuil3").Select
Range(arg1).Select '----> c'est à ce niveau qui surligne l'erreur
End Sub
A+ Roger
' Par exemple, la cellule A17 de la feuille fiche chantier est: A170763depl
'je suppose donc que A17 de la feuille chantier contient : A170763depl
si arg1 prend la valeur "A170763depl" il ne trouvera pas d'adresse correspondante.
j'ai donc changé comme ci-après mais le code pas "propre en ce sens
que la valeur 3 est arbitraire dans : arg1 = Left(Range("a17").Value, 3)
il faudrait pouvoir obtenir un argument de recherche supplémentaire
à moins que cela te convienne.
Sub recherche1()
arg1 = Left(Range("a17").Value, 3)
Sheets("feuil3").Select
Range(arg1).Select '----> c'est à ce niveau qui surligne l'erreur
End Sub
A+ Roger