Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1098 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  macro toujour perdu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

macro toujour perdu

n°1017770
AIGLON74
Posté le 18-03-2005 à 17:03:18  profilanswer
 

salut  
 
pas toujours facile d'expliquer des problemes  
 
voila en feuille accueil en cellule A1 j'ai un nombre x
 
en feuille base de donnee j'ai une liste de 120 lignes  
en colonne A de base de donnee les nombres que je pourrais taper en feuille acceuil  
 
quand je tape un de ces nombres en feuille acceuil cellule A1  
 
je voudrais que la ligne qui corespond a ce nombre passe en haut de feuille base de donnee        
 
 
comment faire perdu de chez perdu
---------------  
aiglon74


---------------
aiglon74
mood
Publicité
Posté le 18-03-2005 à 17:03:18  profilanswer
 

n°1018253
kilimanjar​o
Palm à 6000
Posté le 19-03-2005 à 11:10:25  profilanswer
 

Tu mets sur ta feuille de saisie dans une cellule (par exemple B1 et si ta saisie est en A1
=EQUIV(A1;[Classeur1]Feuil1!$A:$A;1)
 
ensuite tu fais une petite macro (dis moi si tu ne sais pas) qui vient mettre dans la premiere colonne vide à droite de ta base un 1 pour la ligne dont le numéro correspond au résultat de la cellule B1  , tu fais un tri sans la ligne de titre et tu effaces le 1.

n°1018650
AIGLON74
Posté le 19-03-2005 à 22:05:43  profilanswer
 

salut kilimanjaro
 
merci pour ta reponse
 
probleme pour le debut de la macro
ensuite tu fais une petite macro (dis moi si tu ne sais pas) qui vient mettre dans la premiere colonne vide à droite de ta base un 1 pour la ligne dont le numéro correspond au résultat de la cellule B1  
 
la suite ok
tu fais un tri sans la ligne de titre et tu effaces le 1.  
 
un petit coup de main ca serait sympa


---------------
aiglon74
n°1018836
kilimanjar​o
Palm à 6000
Posté le 20-03-2005 à 06:16:52  profilanswer
 

   la_ligne = Application.Match(ThisWorkbook.Sheets("SAISIE" ).Range("A1" ).Value, ThisWorkbook.Sheets("BASE" ).Range("A:A" ), 0)
    If IsError(la_ligne) Then MsgBox ("Saisie pas ok" ): Exit Sub
    Sheets("base" ).Cells(la_ligne, Range("IV1" ).End(xlToLeft).Column + 1) = 1
    Sheets("base" ).Range("A1" ).CurrentRegion.Sort Key1:=Range(Sheets("base" ).Cells(1, Range("IV1" ).End(xlToLeft).Column + 1).Address), Order1:=xlDescending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Sheets("base" ).Cells(2, Range("IV1" ).End(xlToLeft).Column + 1).ClearContents

n°1019209
AIGLON74
Posté le 20-03-2005 à 19:25:22  profilanswer
 

salut et merci pour ton aide precieuse
 
je debute en macro (ca se voir)
si tu a un site a me conseille ou un livre
tout seul c'est toujour pas facile  
 
voila ce que j'ai compris
Sub Macro1()
 
 
 la_ligne = Application.Match(ThisWorkbook.Sheets("SAISIE" ).Range("A1" ).Value,  
 
ThisWorkbook.Sheets("BASE" ).Range("A:A" ), 0)
 
 
si je lit bien cette ligne me mets une MsgBox si le mot saisie et eronne en fait moi j'ai un 1 en resultat
dans la cellule ou j'ai mis ta formule
    If IsError(la_ligne) Then MsgBox ("Saisie pas ok" ): Exit Sub
 
 
 
 
    Sheets("base" ).Cells(la_ligne, Range("IV1" ).End(xlToLeft).Column + 1) = 1
 
 
LA LIGNE SUIVANTE BLOQUE alors j'ai mis un ' devant ca marche  
mais j'aurrais aime comprendre cette ligne
 
'  Sheets("base" ).Range("A1" ).CurrentRegion.Sort Key1:=Range(Sheets("base" ).Cells(1,  
 
Range("IV1" ).End(xlToLeft).Column + 1).Address), Order1:=xlDescending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
 
 
    Sheets("base" ).Cells(2, Range("IV1" ).End(xlToLeft).Column + 1).ClearContents
 
ma bidouille
     
    Application.ScreenUpdating = False
    Sheets("base" ).Select
    Range("a1" ).Select
     
    'TRIE ET EFFACE
     Range("A3:E13" ).Select
    Selection.Sort Key1:=Range("C3" ), Order1:=xlAscending, Key2:=Range("E3" ) _
        , Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
    Rows("3:3" ).Select
    Selection.Delete Shift:=xlUp
    Range("A1" ).Select
Sheets("saisie" ).Activate
Range("a1" ).Select
End Sub


---------------
aiglon74
n°1020307
AIGLON74
Posté le 21-03-2005 à 22:09:44  profilanswer
 

salut  
 
tout marche encore merci pour le coup de main


---------------
aiglon74

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  macro toujour perdu

 

Sujets relatifs
help, macro BBA pour les liens hypertexte??macro je suis perdu
macro pour convertir des $ en eurosmacro boucle
Afficher un message d'attente pendant l'exécution d'une macro[VB] Macro complémentaire sous Excel
Faire une macro sur excel pour transformer Fichier Wordcreation d'un bouton pour executer une macro outlook
excel aide macro pr comparer des lignes 
Plus de sujets relatifs à : macro toujour perdu


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR