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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  importer les dernieres données inseré dans une table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

importer les dernieres données inseré dans une table

n°2125061
abder92
Posté le 06-02-2012 à 16:36:27  profilanswer
 

Bonjour ,
 
 
j'ai un petit probleme!!! en fait j'ai des données que j'importe depuis une base de données vers une feuille excel. Le soucis c'est que a chaque fois que je les importe il m'importe tout ce qui ce trouve dans la base et j'aimerai en fait moi a la place qu'il m'importe que les dernieres données inseré dans celle ci. Sachant que chaque ligne a contient un champs date.
 
 
pouvez vous m'aider la dessus?? :)

mood
Publicité
Posté le 06-02-2012 à 16:36:27  profilanswer
 

n°2125078
abder92
Posté le 06-02-2012 à 17:40:49  profilanswer
 

s'il vous plait vous auriez une idée de code qui permettrait de selectionner les données dont les dates ne dépasserai pas une semaine par exemple!! :/

n°2125089
86vomito33
Posté le 06-02-2012 à 19:29:43  profilanswer
 

tu peux faire un truc comme ca (faudra faire des modif!!)
datemax=date(now)-7
for i=1 to 5000 step1
if cells(i,1)>datemax then rows(i).delete
next i
 
l'idée est de supprimer toutes les dates supérieur à 1 semaine

n°2125323
abder92
Posté le 08-02-2012 à 10:48:50  profilanswer
 

86vomito33 aurais tu une idée de code qui permettrait de parcourir les ligne d'une feuilles excel et lorsqu'elle arrive a la fin revient a la premiere ligne!!!
 
jai essayé la condition while sheets("BL Interne" ).cells (j,1)<>"" mais elle s'arrete a la derniere ligne de ma feuille!!

n°2125342
86vomito33
Posté le 08-02-2012 à 11:20:35  profilanswer
 

.


Message édité par 86vomito33 le 08-02-2012 à 11:22:08
n°2125344
86vomito33
Posté le 08-02-2012 à 11:21:37  profilanswer
 

abder92 a écrit :

86vomito33 aurais tu une idée de code qui permettrait de parcourir les ligne d'une feuilles excel et lorsqu'elle arrive a la fin revient a la premiere ligne!!!
 
jai essayé la condition while sheets("BL Interne" ).cells (j,1)<>"" mais elle s'arrete a la derniere ligne de ma feuille!!


 
pour connaitre le nombre de lignes remplies de ta feuil1 tu peux utiliser le code suivant
 
nblignes=sheets("feuil1" ).range("A65000" ).end(xlup).row(s)
 
je ne sais plus s'il faut un "s" sur row, à tester
en ce qui concerne range("A65000" ) j'ai choisi A à titre d'exemple. choisi la colonne pour laquelle tu es sur qu'il y aura toujours des informations

n°2125345
86vomito33
Posté le 08-02-2012 à 11:24:51  profilanswer
 

avec la boucle for ... to ... next tu parcours les lignes 1 à 5000
tu pourras ensuite revenir à la ligne 1 automatiquement

n°2125359
abder92
Posté le 08-02-2012 à 11:56:08  profilanswer
 

merci je vois la solution!!! par contre pourrais tu stp ( bien que je sais je t'en ai deja trop demander) jai un code qui ne marche pas pourrais tu jeter un oeil et voir ce qui cloche c'est en rapport avc le tout premier pb!!  
 
 Sub CommandButton12_Click()
'Définition des variables
 Dim j As Integer
 
 
 
 
 j = 2
 
 
 
 
 
 
 
      While Mid(Sheets("BL Interne" ).Cells(j, 4), 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
       
       
         Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
        Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
        Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
         Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
   
      Sheets("Feuil1" ).Cells(j, 5) = "ok"
     
       
         
       If Val(Mid(Sheets("BL Interne" ).Cells(j, 4), 2)) <> Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2) Then
         Sheets("Feuil1" ).Cells(j, 5) = "Vérification nécessaires"
         Sheets("Feuil1" ).Cells(j, 6) = Sheets("BL Interne" ).Cells(j, 10)
       
      End If
     
j = j + 1
Wend
   
 
 
 
End Sub
 

n°2125361
abder92
Posté le 08-02-2012 à 12:05:49  profilanswer
 

apparement l'instruction while ne marche pas....help!!! :/

n°2125362
86vomito33
Posté le 08-02-2012 à 12:14:19  profilanswer
 

abder92 a écrit :

apparement l'instruction while ne marche pas....help!!! :/


 

Code :
  1. Sub CommandButton12_Click()
  2. 'Définition des variables
  3. Dim j As Integer
  4.  
  5. j = 2
  6. a = Mid(Sheets("Feuil1" ).Cells(j, 4), 2)
  7. b = Sheets("Feuil2" ).Cells(j, 2)
  8. While Mid(Sheets("Feuil1" ).Cells(j, 4), 2) = Sheets("Feuil2" ).Cells(j, 2)
  9.      
  10. Sheets("Feuil3" ).Cells(j, 1) = Sheets("Feuil2" ).Cells(j, 1)
  11. Sheets("Feuil3" ).Cells(j, 2) = Sheets("Feuil2" ).Cells(j, 2)
  12. Sheets("Feuil3" ).Cells(j, 3) = Sheets("Feuil2" ).Cells(j, 3)
  13. Sheets("Feuil3" ).Cells(j, 4) = Sheets("Feuil2" ).Cells(j, 4)
  14. Sheets("Feuil3" ).Cells(j, 5) = "ok"
  15.        
  16. If Val(Mid(Sheets("Feuil1" ).Cells(j, 4), 2)) <> Sheets("Feuil2" ).Cells(j, 2) Then
  17.     Sheets("Feuil3" ).Cells(j, 5) = "Vérification nécessaires"
  18.     Sheets("Feuil3" ).Cells(j, 6) = Sheets("Feuil1" ).Cells(j, 10)
  19. End If
  20.    
  21. j = j + 1
  22. Wend


 
tu dis (via le code)
 
tant que a=b
faire ceci
 
mets des la premiere ligne ce "test" est faux donc il sort directement de la boucle
 
utilise plutot la boucle for ... to ... next
indice il t'en faudra 2
avec une seule je vois pas comment tu peux y arriver :)


Message édité par 86vomito33 le 08-02-2012 à 12:15:12
mood
Publicité
Posté le 08-02-2012 à 12:14:19  profilanswer
 

n°2125367
abder92
Posté le 08-02-2012 à 12:33:32  profilanswer
 

loool ok tiens jai essayer cela jm'approche de la solution ou pas ??
 
 Sub CommandButton12_Click()
'Définition des variables
 Dim j As Integer
 
 
 
 
 nblignes = Sheets("BL Interne" ).Range("A65000" ).End(xlUp).Row
 
 
      For i = 2 To nblignes
      j = 2
      If Val(Mid(Sheets("BL Interne" ).Cells(j, 4), 2)) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2) Then
       
        Sheets("Feuil1" ).Cells(j, 5) = "ok"
          Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
        Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
        Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
        Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
   
       
         
   
    Else
        Sheets("Feuil1" ).Cells(j, 5) = "Vérification nécessaires"
         Sheets("Feuil1" ).Cells(j, 6) = Sheets("BL Interne" ).Cells(j, 10)
       
         Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
         Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
         Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
         Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
     
         
       j = j + 1
         End If
         
     
     
     
     
 
   
 Next i
 
 
End Sub
 

n°2125368
86vomito33
Posté le 08-02-2012 à 12:41:05  profilanswer
 

lol
t'en fais quoi de ton i. il te sert a rien

n°2125405
abder92
Posté le 08-02-2012 à 14:26:50  profilanswer
 

ah merde desolé jai oublié de faire une modification!! tiens regarde celui la!!
 
Sub CommandButton12_Click()
'Définition des variables
 Dim j As Integer
 
 
 
 
 nblignes = Sheets("BL Interne" ).Range("A65000" ).End(xlUp).Row
 
nbligne = Sheets("BL Interne" ).Range("A65000" ).End(xlUp).Row
      For i = 2 To nblignes
     
       For j = 2 To nbligne
      If Val(Mid(Sheets("BL Interne" ).Cells(j, 4), 2)) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2) Then
       
        Sheets("Feuil1" ).Cells(j, 5) = "ok"
          Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
        Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
        Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
        Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
   
       
         
   
    Else
        Sheets("Feuil1" ).Cells(j, 5) = "Vérification nécessaires"
         Sheets("Feuil1" ).Cells(j, 6) = Sheets("BL Interne" ).Cells(j, 10)
       
         Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
         Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
         Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
         Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
     
         
       j = j + 1
         End If
         
     
     
     
     
 
  Next j
 Next i
 
 
End Sub
 

n°2125406
abder92
Posté le 08-02-2012 à 14:32:37  profilanswer
 

desolé prends pas compte de clui que je viens de poster il est faux!!  
regarde plus tot celui la!!!
 
 
 
nblignes = Sheets("BL Interne" ).Range("A65000" ).End(xlUp).Row
 
nbligne = Sheets("Export ANO_ITEM_LIV" ).Range("A65000" ).End(xlUp).Row
      For i = 2 To nblignes
     
       For j = 2 To nbligne
      If Val(Mid(Sheets("BL Interne" ).Cells(i, 4), 2)) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2) Then
       
        Sheets("Feuil1" ).Cells(j, 5) = "ok"
          Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
        Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
        Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
        Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
   
       
         
   
    Else
        Sheets("Feuil1" ).Cells(j, 5) = "Vérification nécessaires"
         Sheets("Feuil1" ).Cells(j, 6) = Sheets("BL Interne" ).Cells(j, 10)
       
         Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
         Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
         Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
         Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
     
         
       j = j + 1
         End If
         
     
     
     
     
 
  Next j
 Next i
 

n°2125413
86vomito33
Posté le 08-02-2012 à 14:43:31  profilanswer
 

meme remarque

n°2125414
86vomito33
Posté le 08-02-2012 à 14:44:15  profilanswer
 

est ce que tu obtiens ce que tu veux ?

n°2125415
86vomito33
Posté le 08-02-2012 à 14:46:21  profilanswer
 

pour etre sur que je sois sur la meme longueur d'onde
envoi avec cjoint le fichier avec les 10premieres lignes remplies comme tu le souhaite

n°2125418
abder92
Posté le 08-02-2012 à 14:47:12  profilanswer
 

non il me donne un résultat incohérent! suis je sur la bonne voie?? ou dois je m'y prendre autrement??

n°2125420
86vomito33
Posté le 08-02-2012 à 14:48:38  profilanswer
 

envoi le fichier rempli comme tu le souhaite

n°2125422
86vomito33
Posté le 08-02-2012 à 14:55:17  profilanswer
 

mon idée est de parcourir avec les "i" ta feuille bug ID
tu récupere le bug ID ( valeuràchercher)sheets("..." ).cells(i,2))
 
puis dans une seconde boucle
tu cherche cette valeur avec les j
des que tu la trouver tu copies les bonnes infos
tu sors de la boucle et tu passe à la ligne i suivante
 
ce qui donne le code suivant
 
 
for i=1 to nbligne
valeuràcherchée)=sheets("..." ).cells(i,2)
for j=1 to nblignes
if mid(sheets("..." ).cells(j,4),2)=valeuràcherche then
'tu inseres le bout de code corresponsant à ce que tu veux faire
goto sortie1
end if
next j
sortie1:
next i
 
du coup je te donne une partie du code parce que ca ne s'invente pas

n°2125423
abder92
Posté le 08-02-2012 à 15:00:32  profilanswer
 

voila dans la feuil3 il a le resultat que je voudrais avoir mon souci a moi c'est que dans la feuil1 il y a 7 lignes et dans la feuil 2 il y en a 24. je veux qu'il parcours la feuil 2 jusqu'a la fin tout en faisant la comparaison avc la feuil1 et si celle-ci arrive a la 7eme ligne qu'elle remonte automatiquement a la premiere tant que le parcours de la feuil 2 n'est pas fini!!
 
http://cjoint.com/?BBipaw2sDCG

n°2125443
abder92
Posté le 08-02-2012 à 15:44:35  profilanswer
 


il me sort une erreur de compilation sur le "next j" jvois pas pourquoi vu que le "for j..." est avant le "for i..." !! :/  
 
 
 
 
nblignes = Sheets("BL Interne" ).Range("A65000" ).End(xlUp).Row
 
nbligne = Sheets("Export ANO_ITEM_LIV" ).Range("A65000" ).End(xlUp).Row
       
       
     
        For j = 2 To nbligne
       bug_id = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
         
        For i = 2 To nblignes
       
      If Val(Mid(Sheets("BL Interne" ).Cells(i, 4), 2)) = bug_id Then
       
         
        Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
        Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
        Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
        Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
   
       Sheets("Feuil1" ).Cells(j, 5) = "ok"
         
   
    Else
     
         Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
         Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
         Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
         Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
     
         Sheets("Feuil1" ).Cells(j, 5) = "Vérification nécessaires"
         Sheets("Feuil1" ).Cells(j, 6) = Sheets("BL Interne" ).Cells(i, 10)
       
         
          GoTo sortie1
       
         End If
         
         
   Next j
   
     
sortie1: Next i
 
End Sub

n°2125449
abder92
Posté le 08-02-2012 à 16:28:27  profilanswer
 

 [:fight] je bloque !! help!!!

n°2125457
86vomito33
Posté le 08-02-2012 à 17:02:42  profilanswer
 

image bien choisi :)


Message édité par 86vomito33 le 08-02-2012 à 17:05:52
n°2125459
86vomito33
Posté le 08-02-2012 à 17:05:33  profilanswer
 

en gros
For j
       For i
       Next i
Next j

n°2125460
abder92
Posté le 08-02-2012 à 17:12:05  profilanswer
 

loooool merci vomito ms ds ce cas la conditions "if" est tjrs fausse jai joué le code ligne par ligne et j'ai vu qu'il allait directement au "else"!!! j'en peux plus !! regarde ce que sa me fait!!
 
http://cjoint.com/?BBirkMLEKQe
 
 
comme je tai dit je veux juste qu'il revienne a la premiere ligne dans la feuil1 quand il arrive a la fin tant que le parcours de la feuil2 n'est pas terminé!! merci pour tout deja !!! sincerement !!!

n°2125466
abder92
Posté le 08-02-2012 à 17:54:56  profilanswer
 

heeeeeeeeeeeellllllllllllllpppppp!!!!!!!! :(

n°2125477
86vomito33
Posté le 08-02-2012 à 19:08:42  profilanswer
 

abder92 a écrit :

voila dans la feuil3 il a le resultat que je voudrais avoir mon souci a moi c'est que dans la feuil1 il y a 7 lignes et dans la feuil 2 il y en a 24. je veux qu'il parcours la feuil 2 jusqu'a la fin tout en faisant la comparaison avc la feuil1 et si celle-ci arrive a la 7eme ligne qu'elle remonte automatiquement a la premiere tant que le parcours de la feuil 2 n'est pas fini!!
 
http://cjoint.com/?BBipaw2sDCG


 
quelle est la différence entre la ligne 2 et la ligne 3 de ta feuil 3
 
dans les 2 cas l'id bug est le meme mais dans un cas tu veux des vérif et dans l'autre tu n'en veux pas
ton test n'est pas bon. en quoi consiste t-il? ce n'est pas ce que tu as décrit précédemment :(

n°2125563
abder92
Posté le 09-02-2012 à 10:18:48  profilanswer
 

la difference réside dans l'id auxquelles elles sont comparer. la premiere ligne de la feuil3 est le resultat de de la comparaison en la premiere ligne de la feuil2 et la feuil1 et tu verras que la 1ere ligne de la feuil1 a pour id 13895 alrs que ds la feuil2 la 1ere ligne on trouve 13520!! comme je t'ai dit je veux que tant que le parcours de la feuil2 n'est pas terminé (tant qu'il n'arrive pas a la derniere ligne) que la feuil1 revienne automatiquement a la premiere ligne des que son parcours est terminé (donc des qu'elle arrive a sa derniere ligne)!!!

n°2125583
abder92
Posté le 09-02-2012 à 12:08:44  profilanswer
 

jai trouvé une autre façon de procéder mais c'est pas encore sa est ce que tu pourrais voir??  
c'est au niveau de la condition que sa coince! :/
 
   j = 2
        i = 2
          Dim FindBug As Range
       
         bug_id = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2).Value
         
         
         
         While Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1) <> ""
       
       
       
               
         
         
      Set FindBug = Sheets("Export SVN" ).Cells.Find(bug_id, lookat:=xlPart)
         
         
        If Sheets("Export SVN" ).Cells(FindBug.Row) = bug_id Then
         
        Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
        Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
        Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
        Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
   
       Sheets("Feuil1" ).Cells(j, 5) = "ok"
         
   
    Else
     
         Sheets("Feuil1" ).Cells(j, 1) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 1)
         Sheets("Feuil1" ).Cells(j, 2) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 2)
         Sheets("Feuil1" ).Cells(j, 3) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 3)
         Sheets("Feuil1" ).Cells(j, 4) = Sheets("Export ANO_ITEM_LIV" ).Cells(j, 4)
     
         Sheets("Feuil1" ).Cells(j, 5) = "Vérification nécessaires"
         Sheets("Feuil1" ).Cells(j, 6) = Sheets("Export SVN" ).Cells(i, 5)
       
         
               
         End If
         
         
    j = j + 1
    i = i + 2
  Wend
End Sub
 

mood
Publicité
Posté le   profilanswer
 


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

  importer les dernieres données inseré dans une table

 

Sujets relatifs
Accès données sncfExtraction données Firebird
Problèmes - Logiciel d'acquisition de tempsImport de données sous MySQL
[PostgreSQL] Primary key sur table temporaire?Transferer données précises vers une autre table en fonction d'un ID
Recherche base de données composant PCSéparer données cellule Excel
Export données MS SQL vers csv avec PHP 
Plus de sujets relatifs à : importer les dernieres données inseré dans une table


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