Vba : Extraire le nom d'une cellule

Fermé
Usgpa - 18 févr. 2010 à 15:10
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 18 févr. 2010 à 18:13
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

4 réponses

ndsaerith Messages postés 308 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 28
18 févr. 2010 à 15:13
Bonjour,

As tu essayé .value?

@+++
0
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
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
ndsaerith Messages postés 308 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 28
18 févr. 2010 à 17:59
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
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
18 févr. 2010 à 18:13
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