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 affectation de valeur [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 201
    Par défaut probleme affectation de valeur
    Bonjour,
    j'ai un problème concernant l'affectation de valeurs. J'ai deux tableaux superposés (pj) et j'aimerai affecter les bonnes valeurs aux cellules soulignée en gras sur mon code que voici:



    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
    83
    84
    85
    Dim U As Double, V As Double, W As Double
    Dim Flag As Boolean
    Dim X As Variant
    Dim n As Byte
     
    Dim myList As String, str As String
     
    str = UserForm1.cboChoixSrce.Text
    myList = ThisWorkbook.Worksheets("Config").Range("A2:A29").Find(str, LookIn:=xlValues, lookat:=xlWhole)
     
     
                 If InStr(myList, cboChoixSrce.Text) Then
                      If cboTypParoi.Text = "Mur" Then
                          If cboNatParoi.Text = "Voile" Or cboNatParoi.Text = "Mitoyen" Then
                              If cboMatParoi.Text = "Béton dense" Then
                                  V = 0.01 * cboEpaisMit
                                  n = 2
                              ElseIf cboMatParoi.Text = "Béton léger" Then
                                  n = 3
                              ElseIf cboMatParoi.Text = "Parpaings pleins" Then
                                  n = 4
                              ElseIf cboMatParoi.Text = "Parpaings creux" Then
                                  n = 5
                              ElseIf cboMatParoi.Text = "Brique pleine" Then
                                  n = 6
                              ElseIf cboMatParoi.Text = "Brique creuse" Then
                                  n = 7
                              ElseIf cboMatParoi.Text = "Pan de bois" Then
                                  n = 8
                              ElseIf cboMatParoi.Text = "Pan de fer" Then
                                  n = 9
                              ElseIf cboMatParoi.Text = "Moellon" Then
                                  n = 10
                              Else
                                  Flag = True
                              End If
                          Else
                              If cboNatParoi.Text = "Voile contre terre béton" Then
                                  If cboMatParoi.Text = "Béton dense" Then
                                      V = 0.01 * cboEpaisMit
                                      n = 2
                                  ElseIf cboMatParoi.Text = "Béton léger" Then
                                      n = 3
                                  End If
                              End If
                          End If
                      Else
                         If cboTypParoi.Text = "Plancher" Then
                             If cboNatParoi.Text = "Dalle béton" Or cboNatParoi.Text = "Dalle béton sur poutrelle métallique" Or cboNatParoi.Text = "Dallage sur terre plein" _
                                Or cboNatParoi.Text = "Bac collaborant" Or cboNatParoi.Text = "Chape béton" Then
                                    n = 14
                             ElseIf cboNatParoi.Text = "Plancher bois" Then
                                    n = 19
                             ElseIf cboNatParoi.Text = "Poutrelle métallique" Then
                                    n = 20
                             End If
                         End If
                      End If
                  Else
                      Flag = True
                  End If
     
    If Not Flag Then
        With ThisWorkbook.Worksheets("Feuil2")
            U = .Range("B2").Value ''''''''''''''''''''''''''''''''''''''''''''''Masse volumique du béton
            X = .Range("B" & n & ":D" & n).Value
        End With
        W = 0.01 * cboEpaisParoi.Value
     
     
        With ThisWorkbook.Worksheets("Feuil3")
            If V > 0 Then
                .Range("I28").Value = V * X(1, 1) ''''''''''''''''''''''''''''''''Masse surfacique du mitoyen
                .Range("K28").Value = V
            End If
            .Range("J28").Value = W * X(1, 1) '''''''''''''''''''''''''''''''''''Masse surfacique de la paroi excitée
            If U <> 0 Then .Range("L28").Value = W * X(1, 1) / U ''''''''''''''''Epaisseur equivalente de béton
            .Range("N28").Value = X(1, 2) '''''''''''''''''''''''''''''''''''''''Vitesse longitudinale cL de la paroi excitée
           .Range("N29").Value = X(1, 2) '''''''''''''''''''''''''''''''''''''''Vitesse longitudinale cL du mur mitoyen
            .Range("H28").Value = X(1, 3) '''''''''''''''''''''''''''''''''''''''Facteur de perte interne teta0 de la paroi excitée
           .Range("H29").Value = X(1, 3) '''''''''''''''''''''''''''''''''''''''Facteur de perte interne teta0 du mur mitoyen
        End With
    End If
     
    End Sub
    En effet je voudrais que le facteur de perte du mur soit donné par le tableau de la Feuil2 aux niveau des cellules cellules D2: D10 ( D2 à D10) et que celui de la paroi excitée soit donnée soit par les cellules D2: D10 de la Feuil2 s'il s'agit d'un mur ou D14: D20 s'il s'agit d'un plancher.
    Même chose pour la vitesse longitudinale en C (C2 à C10 pour le mur et C14 à C20 pour le plancher).

    Comment dois je modifier le code pour y arriver ?
    De l'aide SVP
    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 201
    Par défaut
    c'est bon j'y suis arrivé tout seul il suffisait de rajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Y = .Range("B" & m & ":D" & m).Value
    et du coup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     .Range("N29").Value = Y(1, 2)
     .Range("H29").Value = Y(1, 3)

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

Discussions similaires

  1. Affecter la valeur NULL à une cellule d'une table
    Par jacma dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 06/05/2005, 14h43
  2. Réponses: 10
    Dernier message: 03/05/2005, 21h57
  3. Réponses: 4
    Dernier message: 07/04/2005, 13h37
  4. Affecter une valeur à un radiobutton svp
    Par bigfoot dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/12/2004, 11h17
  5. [scriplet] affecter une valeur par un bean:write
    Par viena dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 25/11/2004, 16h29

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