Historique par macro et récupération de données

Dizzz

XLDnaute Nouveau
Bonjour à tous,

Ci-joint mon fichier :
1 fichier, 2 onglets. Le 1er est la fenêtre principale et sert à créer des fiches articles. La 2ème ' historise ' les données d’une fiche numérotée. Je souhaite pouvoir à guise, lorsque je recherche une info, par une nouvelle macro, récupérer les données de l'onglet historique d’une fiche et les reporter sur la fenêtre principale, l'onglet MP. Si vous avez une idée merci beaucoup.

Dizz
[file name=création article_20050520154649.zip size=14185]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/création article_20050520154649.zip[/file]
 

Pièces jointes

  • création article_20050520154649.zip
    13.9 KB · Affichages: 30

Dizzz

XLDnaute Nouveau
Merci de m'avoir prévenu, désolé de ce petit incident que je saurai éviter à l'avenir. Voici le fichier (14 ko ça devrait aller).

Dizz

[file name=creationarticle.zip size=14185]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/creationarticle.zip[/file]
 

Pièces jointes

  • creationarticle.zip
    13.9 KB · Affichages: 45

Hervé

XLDnaute Barbatruc
Bonjour

une proposition vite faite en pièce jointe.

Salut
[file name=creation.zip size=17357]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/creation.zip[/file]
 

Pièces jointes

  • creation.zip
    20.2 KB · Affichages: 42
  • creation.zip
    20.2 KB · Affichages: 41
  • creation.zip
    20.2 KB · Affichages: 41

Hervé

XLDnaute Barbatruc
re

dans le fichier, remplace la macro :

Public Sub initcombobox()

par celle-ci :

Public Sub initcombobox()
Dim tablo()
Dim c As Range
Dim x As Integer, y As Integer, temp2 As Integer
Dim temp1 As String
x = 0

With Sheets('MP').ComboBox1
    .Clear
    .ColumnCount = 2
    .ColumnWidths = '80;0'
End With

With Sheets('HistoriqueMP')
    x = 1
   
For Each c In .Range('c2:c' & .Range('c65536').End(xlUp).Row)
       
ReDim Preserve tablo(1 To 2, 1 To x)
        tablo(1, x) = c
        tablo(2, x) = c.Row
        x = x + 1
   
Next c
End With

For x = 1 To UBound(tablo, 2)
   
For y = x To UBound(tablo, 2)
       
If tablo(1, x) > tablo(1, y) Then
            temp1 = tablo(1, x)
            temp2 = tablo(2, x)
            tablo(1, x) = tablo(1, y)
            tablo(2, x) = tablo(2, y)
            tablo(1, y) = temp1
            tablo(2, y) = temp2
       
End If
   
Next y
Next x
ComboBox1.List = Application.Transpose(tablo)

End Sub


salut

Message édité par: Hervé, à: 08/06/2005 12:24
 

Dizzz

XLDnaute Nouveau
Salut hervé.

Ca fonctionne, les codes se trient parfaitement. J'ai essayé d'en créer un max avec un nombre de chiffres différent et au bout de la 10ème création, j'ai un message d'erreur : 'dépassement de capacité'
Impossible donc de créer un nouveau code!
As-tu une idée?
Merci hervé

dizz
 

Hervé

XLDnaute Barbatruc
salut dizz

On s'en sortira pas tout les deux tant que j'aurais pas vu la codification du numéro :)

c'est du style 123456 ou toto456 ???

en tout cas essaye avec: dim tablo() as long

je viens d'essayer avec des nombres à 12 chiffres, pas de problème.

salut

Message édité par: Hervé, à: 10/06/2005 10:02
 

Discussions similaires

Statistiques des forums

Discussions
312 520
Messages
2 089 286
Membres
104 085
dernier inscrit
Charlot77