[Excel-macro] Pb macro recherche avec Offset
Résolu
Cedrix
-
Cedrix -
Cedrix -
Bonjour à tous et merci d'avance pour vos réponses,
Voici mon objectif :
Je cherche à réaliser une macro sous Excel permettant d'effectuer une recherche sur la colonne D.
J'ai un nom en cellule G3 que je souhaite chercher sur l'ensemble de la colonne D.
La colonne A est masquée.
Voici ma macro actuelle :
Voici mon problème :
Quand je lance ma recherche, la case D2 est bien sélectionnée mais il fois la première boucle effectuée, la boucle ne poursuit pas en D3 mais en B3 puis B4 puis B5 ... (rappel : la colonne A est masquée).
Comment faire pour que ma recherche soit effectuée sur la colonne D ?
Encore merci à ceux qui trouveront une solution à mon problème.
Très cordialement,
Cédric.
Voici mon objectif :
Je cherche à réaliser une macro sous Excel permettant d'effectuer une recherche sur la colonne D.
J'ai un nom en cellule G3 que je souhaite chercher sur l'ensemble de la colonne D.
La colonne A est masquée.
Voici ma macro actuelle :
nomrech = Range("G3").Value
Range("D2").Select
For i = 1 To 9999
If ActiveCell.Value = nomrech Then GoTo Fin
ActiveCell.Offset(1, 0).Range("A1").Select
Next
Fin:
Voici mon problème :
Quand je lance ma recherche, la case D2 est bien sélectionnée mais il fois la première boucle effectuée, la boucle ne poursuit pas en D3 mais en B3 puis B4 puis B5 ... (rappel : la colonne A est masquée).
Comment faire pour que ma recherche soit effectuée sur la colonne D ?
Encore merci à ceux qui trouveront une solution à mon problème.
Très cordialement,
Cédric.
A voir également:
- [Excel-macro] Pb macro recherche avec Offset
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Si ou excel - Guide
1 réponse
bonjour Cedric
Pas besoin de boucle, essaies
nota: l'utilisation des goto est à proscrire absolument sauf pour la gestion des erreurs
edit 14:15
ici je sélectionne la cellule en colonne D qui contient la valeur en G3; j'ai pas bien compris ton offset avec ni ton range("A1) ni ton "colonne masquée"
--
Cordialement, Michel
Pas besoin de boucle, essaies
Sub chercher_colD()
Dim nomrech As String, cellule As Range
nomrech = Range("G3")
Set cellule = Range("D1:D65536").Find(nomrech)
If cellule Is Nothing Then
MsgBox "inconnu"
Else
cellule.Select
End If
Set cellule = Nothing
End Sub
nota: l'utilisation des goto est à proscrire absolument sauf pour la gestion des erreurs
edit 14:15
ici je sélectionne la cellule en colonne D qui contient la valeur en G3; j'ai pas bien compris ton offset avec ni ton range("A1) ni ton "colonne masquée"
--
Cordialement, Michel
Le problème est réglé.
Pour information j'ai décomposé mon ancienne macro et j'ai trouvé l'erreur.
Si cela peut aider du monde dans mon cas :
lors d'un activecell.offset(1,0).range("A1").select ... la macro sélectionne la cellule en dessous de celle sélectionnée.
En ligne 14 j'avais des cellules fusionnées allant de la colonne B à la collone F donc de la ligne 2 à la 13 pas de problème puis lors du passage sur la 14 la cellule D14 est devenue la cellule B14.
Lors de la boucle suivant la macro a donc poursuit sur la cellule B15.
Attention donc au fusions de cellules lors de macros (c'est la leçon du jour pour moi, je vais me coucher moins bête ce soir).
Encore 1000 fois merci pour votre réactivité Michel.
Très cordialement,
Cédric.