IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Probleme de retranscription vba - vb.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Par défaut Probleme de retranscription vba - vb.net
    Bonjour,

    J'ai quelques souci à retranscrire cette partie de code VBA en vb.net
    Pour vous ressituer le sujet, j'ai pas mal de numéro tel que :

    07-01-005
    07-01-006
    07-01-012
    ....

    J'utilisais ce code pour chercher la valeur maxi dans ma colonne (ici 07-01-012)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ligmax = Cells(65000, 1).End(xlUp).Row 'Cherche la dernière ligne non vide à partir du bas de la colonne
    monmax = ""
    For i = 1 To ligmax 'A partir de la ligne 1
    If Cells(i, 1) > monmax Then
       monmax = Cells(i, 1)
       imax = i
    End If
    Next i
    et je récupérais la valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Maxi = Cells(imax, 1).Value
    Label_Valeur_Maxi.Caption = "Valeur : " & Maxi 'Indique la valeur maxi
    Je n'arrive pas à mettre ce bout de code en VB.net
    J'ai ajouter les références Excel au projet déclarer mes objets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            Dim MonMax As Integer = ""
            Dim imax As Integer
            For i = 1 To 300
                If Excel_App.Cells(i, 1) > MonMax Then
                    MonMax = Excel_App.Cells(i, 1)
                    imax = i
                End If
            Next i
            Excel_App.Cells(imax, 1).select()
     
            Dim Maxi As Integer
            Maxi = Excel_App.Cells(imax, 1).value
            Label13.Text = Maxi
    D'où peut provenir le problème ?
    Pourriez-vous m'aider s'il vous plait.

    Michaël

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Mickey92150 Voir le message
    D'où peut provenir le problème ?
    Quel problème ? Tu n'as pas dit ce qui se passait avec le code que tu as essayé... Est-ce qu'il y a une erreur de compilation ? une exception ? pas le résultat attendu ?

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir,

    Est ce que ceci peut être utile ?
    A adapter selon tes besoins :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
     
        Private Sub Excel()
     
            'ajouter la référence "Microsoft.Office.Interop.Excel" (menu Projet > Ajouter une référence...)
            Dim AppExcel As New Microsoft.Office.Interop.Excel.Application
            Dim Cls As Microsoft.Office.Interop.Excel.Workbook
            Dim Fe As Microsoft.Office.Interop.Excel.Worksheet
            Dim Plage As Microsoft.Office.Interop.Excel.Range
            Dim Cel As Microsoft.Office.Interop.Excel.Range
     
            Dim MonMax As Object 'valeurs texte dans Excel
            Dim Adr As String
     
            'montre l'application Excel
            AppExcel.Visible = True
     
            'ouvre le classeur
            Cls = AppExcel.Workbooks.Open("D:\MonClasseur.xls")
     
            'défini la feuille "Feuil1" comme feuille de travail
            Fe = Cls.Worksheets("Feuil1")
     
            With Fe
     
                'défini la plage de recherche, ici la colonne A de A1 à Ax
                Plage = .Range(.Cells(1, 1), .Cells(65536, 1).End(-4162))
     
                'parcour la plage
                For Each Cel In Plage
     
                    If Cel.Value > MonMax Then
                        MonMax = Cel.Value
                        'mémorise l'adresse de la cellule
                        Adr = Cel.Address
                    End If
     
                Next
     
                'affiche le maximum, à adapter le retour de valeur
                MsgBox(MonMax)
     
                'et sélectionne la cellule
                .Range(Adr).Select()
     
     
            End With
     
            'ferme le classeur si nécessaire
            'Cls.Close()
     
            'ferme l'application si nécessaire
            'AppExcel.Quit()
     
            Cel = Nothing
            Plage = Nothing
            Fe = Nothing
            Cls = Nothing
            AppExcel = Nothing
     
        End Sub
    Hervé.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Par défaut
    > tomlev
    Mon soucis, c'est que je n'arrive pas a obtenir la valeur maxi de ma colonne via mon labeltext.

    >Theze
    Je vais tester le code demain.

    Mais j'aimerai bien savoir ce qui manque dans mon code pour obtenir cette valeur maxi, comprendre ou je fait erreur.

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Mickey92150 Voir le message
    Mon soucis, c'est que je n'arrive pas a obtenir la valeur maxi de ma colonne via mon labeltext.
    "je n'arrive pas", ce n'est pas très explicite... il peut y avoir plein de façons de l'interpréter. Ce que je demande, c'est que se passe-t-il quand tu exécutes ce code ? Quel résultat (ou erreur) tu obtiens ?

  6. #6
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut vba à vb.net
    tu n'aurais par hasard oublie de caster la variable excel d'abord dans le type destination integer et ensuite il ne faut pas omettre toString.
    Ce sont des oublis benins mais qui font perdre du temps car on ne les voit qu'à l'execution ,oublis à se faire arracher les cheveux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    'ici le cast est necessaire a cause de l'appel à COM
    MonMax = Ctype(Cel.Value,Integer)
     
    Label1.Text=MonMax.toString
    bon code....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme d'utilisation de iBatis.net
    Par cereal59 dans le forum EDI/Outils
    Réponses: 1
    Dernier message: 13/10/2006, 08h55
  2. probleme d'impression sous vb.net
    Par schlouff dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/09/2006, 11h35
  3. probleme de requetes VBA/ACESS. erreur execution 3251
    Par schwinny dans le forum Access
    Réponses: 9
    Dernier message: 05/07/2006, 10h11
  4. Probleme d'acces registre [vb.net]
    Par vincz95 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/04/2006, 15h22
  5. probleme de #include en C++ .NET
    Par CHIERA dans le forum MFC
    Réponses: 2
    Dernier message: 27/02/2004, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo