recherche In Selection.Cells

  • Initiateur de la discussion Initiateur de la discussion Anthony
  • 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

Anthony

Guest
Salut le "FORUM, salut Michel_M,
encore merci pour ton aide de la dernière fois à propos d'une recherche à partir de trois listbox... du travail de pro pour un bizut comme moi, mais bon je persiste à apprendre par "essais /erreurs" mais c'est de moins en moins simple !
ci-joint la macro suivante.


Sub testard() 'et oui chuis ptète pas bon en Vba mais chuis tétu !
'
' testard Macro
' Macro enregistrée le 22/11/2004 par Alex_anthony
'
Sheets("atest").Select
Range("a8:i50000").Select
Dim row As Range
For Each row In Selection.Cells
If row = Sheets("ajout_ref") = remontee Then '( la ça foire, je n'arrive pas à lui faire prendre en compte cette plage de cellule qui fait référence à (=gestion!$k$4:$q$4))
row.Select
End If
Next

If remontee = "" Then
la = "veuillez lancer une recherche de ligne au préalable" & Chr(13) & Chr(10) & "RECOMMENCEZ SVP"
boutons = vbOKOnly + vbInformation
titre = "Oups..!"
MsgBox la, boutons, titre
Sheets("gestion").Select
End If

'
End Sub

à première vue c'est ptète pas clair, vue le code désastreux que j'ai écrit.
donc j'explique.

le résultat d'une recherche est inscrite dans cette zone (=gestion!$k$4:$q$4)) à partir de cette ligne, je veux sélectionner la ligne correpondante dans la feuille atest! pour pouvoir modifier mon stock.(en masquant les autres si possible)
voila ...
un gib MERIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
d'avance

tony
 
Bonjour,

Suis en petite pause at work

rapidement

row est un mot réservé qui indique un numéro de ligne et tonton VBAExcel n'aime pas du tout ce genre d'emprunt, donc appelle cela "cellule" par exemple puisque tu déclares en type range

Tu écris:
If row = Sheets("ajout_ref") = remontee Then '( la ça foire, je n'arrive pas à lui faire prendre en compte cette plage de cellule qui fait référence à (=gestion!$k$4:$q$4))

ben forcément: sheeets("ajout-ref")n'existe pas et tu as 2 égalités dans une instruction...

essaies:

if cellule=sheets("gestion").remontée then

Peut être à ce soir si...


Michel
 
salut Michel_M, saut Jean Marie,

oui effectivement la feuille ajout_ref n'existe que sur mon fichier complet. sur cette version je l'ai "scouisée" pour que le fichier .zip ne dépasse pas 50Ko ...désolé.

pour ce qui est de la déclaration j'hésite entre range, string, integer ... je n'arrive pas réellement à en retenir les nuances.
(je ne suis pas encore bien rodé, voir pas rodé du tout) mais passionné par ce language qui me parait encore très abstrait, surement.

bon allez je teste et je vous tiens au courant .

MERCI
 
Re: recherche In Selection.Cells (voir wiki)

re,

Encore moi...

En ce qui concerne les variables, tu as des topos écrits par Michel XLd (mon hononyme) dans le WIKI

Tu ckiques sur wiki puis sur actualiser et tu demandes michelXLD

C'est un truc super

Michel
 
salut Michel_M, saut Jean Marie,

bon cette fois c'est clair, enfin je crois, j'utilise la déclaration range car la variable de contrôle "For each" doit être de type variant ou objet...

ci joint nouveau code:


'
' testard Macro
' Macro enregistrée le 22/11/2004 par Alex
'
Sheets("atest").Select
Range("a8:k50000").Select
Dim cellule As range


For Each cellule In Selection.Cells
If cellule = Sheets("ajout_ref").Range("remontee") Then
cellule.Select
End If
Next

If remontee = "" Then
la = "veuillez lancer une recherche de ligne au préalable" & Chr(13) & Chr(10) & "RECOMMENCEZ SVP"
boutons = vbOKOnly + vbInformation
titre = "Oups..!"
MsgBox la, boutons, titre
Sheets("gestion").Select
End If

'
End Sub

cela ne fonctionne pas, j'ai un message " erreur d'exécution '1004' erreur définie par l'application ou par l'objet.

il faut que je définisse mon élément de recherche comme étant la ligne les cellules de la ligne 4 dans gestion! de k4:q4 ?
pourtant cette sélection de cellule à bien été nommée dans insertion\noms\définir. donc en théorie je peux m'y référer sans déclaration spécifique en début de macro ?

tony
 
re
dans le texte de ta procédure tu compares une cellule for each(une à une ) car cellule n'est pa définie comme une plage multiple ,à un groupe de cellules (plage nommée remontée de la feuille "ajout_ref") donc excel ne doit pas tout comprendre ce que tu lui demande
Vois la pièce jointe et ensuite tu avises
A+++
Jean Marie
 
Salut Jean Marie, salut Michel_M

excusez moi de ne pas vous avoir répondu plus tôt mais mon nouveau PC at home n'est pas encore opérationel. (les joix d'une carte mère combo socket !!!)
bref.

que dire au regard de cette macro si ce n'est que C'EST UN METIER !!! que d'écrire un code pareil, je suis admiratif devant la "relative" simplicité du code ( j'ai presque tout compris) et surtout devant le style , QUEL TALENT.

l'adaptation au fichier final est en cours ( ça c'est à peu près dans mes cordes)

merci également pour le liens sous KIWI, c'est très instructif ! avec tout ça je vais pouvoir m'entrainer et peut être qu'un jour, moi aussi je pourrais aider qqun

je ne manquerais pas de vous recontacter pour d'autres problèmes insolubles.

encore merci à vous deux

Amicalement,

Tony
 
re-salut Jean Marie, Michel_M

y a comme des bugs dans le code !
en lancant la macro avec le critère de sélection vide, la Msgbox ne s'affiche pas.
bon en revanche, la sélection est bien remonté par la couleur rouge, mais la ligne maplage.select situé juste après me sélectionne la dernière ligne non vide. et pas "maplage" recherchée par le code ...!!! qui correspond à la ligne remontée en gestion!k4:q4.

Tony
 
salut"Anthony"
salut "Michel_M"sil arrive jusque là le pauvre c'est pas un patron qu'il a
bon une version 2 qui peut encore être améliorée mais qui fonctionne mieux il n'est pas évident de travailler sur des bribes de fichier, mais bon on va y arriver
A+++
Jean Marie
 

Pièces jointes

- 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
1
Affichages
1 K
Réponses
1
Affichages
953
Réponses
0
Affichages
1 K
Retour