Vba : Extraire le nom d'une cellule

Usgpa -  
Gord21 Messages postés 928 Statut Membre -
Bonjour,

Je voudrais additionner des cellules de la colonne "c" (trouvée grâce à une recherche basé sur une donnée entrée dans un Userform) de la ligne "l_d" à la "l_f" (trouvées de la même manière que le "c"). J'ai essayé une floppée de code mais aucune n'a fonctionne . je suppose que tout est bon sauf les lignes "p=" et "q=" qui sont surement compléter. Je suis complètement bloqué, je remercie donc tous ceux qui pourront m'aider !!!

Dim p As Integer
Dim q As Integer

p = Feuil5.Range("c" & l_d).
q = Feuil5.Range("c" & l_f).

Feuil1.Range("L" & Plage1.Row).Formula = "=SUM(p : q)"
Feuil1.Range("K" & Plage1.Row) = TextBox5.Value
Configuration: Windows XP / Internet Explorer 6.0

4 réponses

  1. ndsaerith Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   28
     
    Bonjour,

    As tu essayé .value?

    @+++
    0
    1. Usgpa
       
      Bonjour ndsaerith. Non je n'ai pas essayé .value car il va alors donner la valeur d'une cellule quand moi je recherche son adresse ("C1"; "B2", etc...)
      0
  2. Usgpa
     
    Dim p As Integer
    Dim q As Integer

    p = Sheets("Taux").Range(c & l_d)
    q = Sheets("Taux").Range(c & l_f)

    Feuil1.Range("L" & Plage1.Row).Formula = "=SUM(p:q)"
    Feuil1.Range("K" & Plage1.Row) = TextBox5.Value

    cherche0 = ComboBox1.Value
    b = Feuil1.Cells.Find(what:=cherche0, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row

    Le C et le l_d sont bien trouvés par vba mais y arait il un moyen de représenter les adresses correspondants à ces coordonnées (c=4) et l_d 2) par p et q. P serait ainsi égal à D2
    0
  3. ndsaerith Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   28
     
    Re,

    Si tu écrit : Feuil1.Range("L" & Plage1.Row).Formula = "=SUM(p:q)"
    excel ne reconnaitra déjà pas, j'ai essayé et il écrit dans la cellule le texte : =SUM(p:q)
    Pour passer p et q comme variable (ce qu'elles contiennent) il faut utiliser la concaténation avec "&".

    Ça donne quelque chose qui ressemble à :
    Feuil1.Range("L" & Plage1.Row).Formula = "=SUM(" & p & ":" & q & ")"

    Dans ton cas je ne penses pas que tu initialise correctement les variables :
    Dim p As string
    Dim q As string
    p = c & l_d
    q = c & l_f
    Feuil1.Range("L" & Plage1.Row).Formula = "=SUM(" & p & ":" & q & ")" 


    J'ai fait un essai en créan des variables fictive var1, var2 er var3 pour remplacer tes c, l_d et l_f, ça donne le code ci dessous et ça marche ;)

    Dim var1 As String
    Dim var2 As String
    Dim var3 As String
    Dim p As String
    Dim q As String
    
    var1 = "c"
    var2 = "1"
    var3 = "15"
    
    p = var1 & var2
    q = var1 & var3
    Feuil1.Range("A1").Formula = "=SUM(" & p & ":" & q & ")"
    0
  4. Gord21 Messages postés 928 Statut Membre 289
     
    Bonjour,
    Tu peux essayer :

    Sub toto()
    
    Feuil1.Range("L" & Plage1.Row).Formula = "=SUM(Feuil5!C" & l_d & ":C" & l_f & ")" 
    Feuil1.Range("K" & Plage1.Row) = TextBox5.Value
    
    End Sub

    0