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

Macros et VBA Excel Discussion :

probleme dans le code vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2015
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2015
    Messages : 110
    Points : 80
    Points
    80
    Par défaut probleme dans le code vba
    Bonjour,
    le code s dessous fonctionne tre bien sur mon pote mais si je l'ouvre sur le poste d'un collegue il m'indique une erreur a la ligne Set ws = Sheets("Donné équipement")
    je ne sais pas pourqoui
    pouvez vous m'aider
    merci par avance
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    Private Sub CommandButton1_Click()
    Dim l_info As Integer
    Dim note_1 As String, note_2 As String, lanote As String
     
     
     
     
    With ThisWorkbook.Worksheets("TABLEAU RECAP")
     l_info = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
     
     
         .Range("B" & l_info).Value = ComEQUI 'libelle equipement'
            .Range("c" & l_info).Value = Textlocal 'code local"
            .Range("D" & l_info).Value = ComRESP 'Nom du responsable'
            .Range("E" & l_info).Value = CDate(TextDATEAM) 'date du constat'
            .Range("F" & l_info).Value = CDate(TextMISE) 'date de mise en service'
            .Range("G" & l_info).Value = CInt(TextDUREVIE.Value)  'Duree de vie theorique'
            .Range("H" & l_info).Value = CDate(TextREMPL) 'Date theorique de remplacement '
            .Range("I" & l_info).Value = CInt(TextDURVIERESI.Value)  'Duree de vie residuelle '
            .Range("J" & l_info).Value = TextESTIMREMPL 'Duree de vie residuelle '
            .Range("K" & l_info).Value = CInt(TextRESUETAT.Value) 'note de etat equipement'
            .Range("l" & l_info).Value = CInt(TextRESUCRIT.Value) 'note de criticite equipement'
     
    With .Range("M" & l_info)
                    'formulation
                    .FormulaR1C1 = "=IF(RC[-2]<=21,""Mauvais"",IF(RC[-2]<=43,""Usuel"",IF(RC[-2]<=64,""Bon"")))"
                    'équivaut à un collage spécial valeur
                    .Value = .Value
                    note_1 = .Value
             End With
     
             With .Range("N" & l_info)
                    'formulation
                    .FormulaR1C1 = "=IF(RC[-2]<=21,""Faible"",IF(RC[-2]<=43,""Moyenne"",IF(RC[-2]<=64,""Forte"")))"
                    'équivaut à un collage spécial valeur
                    .Value = .Value
                    note_2 = .Value
             End With
     
            Select Case True
                        Case note_1 = "Mauvais" And note_2 = "Faible"
                                lanote = "B"
                        Case note_1 = "Mauvais" And note_2 = "Moyenne"
                                lanote = "C"
                        Case note_1 = "Mauvais" And note_2 = "Forte"
                                lanote = "C"
     
                         Case note_1 = "Usuel" And note_2 = "Faible"
                                lanote = "A"
                        Case note_1 = "Usuel" And note_2 = "Moyenne"
                                lanote = "B"
                        Case note_1 = "Usuel" And note_2 = "Forte"
                                lanote = "B"
     
                         Case note_1 = "Bon" And note_2 = "Faible"
                                lanote = "A"
                        Case note_1 = "Bon" And note_2 = "Moyenne"
                                lanote = "A"
                        Case note_1 = "Bon" And note_2 = "Forte"
                                lanote = "A"
     
     
     
     
            End Select
     
            .Range("O" & l_info).Value = lanote
     
    Set ws = Sheets("Donné équipement")</souligne>
    l = ws.Cells.Find(ComEQUI.Value, , , xlWhole).Row
           ws.Range("G" & l).Value = lanote
     
     End With
     
    Me.hide
     
     
     
    Unload UserFormpri
     
    End Sub

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Peut être le problème ne vient pas du poste mais du classeur actif (si plusieurs d'ouverts)

    remplace la ligne par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Ws=Thisworkbook.worksheets("xxxx")
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Peut-être également que ton collègue travaille consciencieusement (en Option Explicit) et que ta variable ws n'a pas été déclarée.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

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

Discussions similaires

  1. Probleme dans mon code recherche dans un fichier Xml
    Par dederfred dans le forum Delphi
    Réponses: 11
    Dernier message: 21/10/2006, 16h51
  2. Réponses: 2
    Dernier message: 03/05/2006, 08h33
  3. [VBA-E]Probleme dans mon code ??? merci de votre aide
    Par gregantibes dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/04/2006, 18h24
  4. probleme dans le code
    Par vivu dans le forum C++
    Réponses: 41
    Dernier message: 14/11/2005, 18h13
  5. petit probleme dans un code : theoreme de pythagore
    Par ETI-trian dans le forum C++
    Réponses: 3
    Dernier message: 15/10/2005, 13h13

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