[Excel VBA] Problème formule de concaténation
Résolu
Kvo
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
Kvo Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Kvo Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J’ai un petit problème avec une concaténation en VBA sous Excel.
J’ai plusieurs tableaux identiques mais de tailles variables (en nombre de lignes) dont la dernière ligne est un total.
Je souhaite élaborer une procédure qui écrit en A1 une phrase du type : « Le total des débits est X et celui des crédits Y »
J’utilise l’instruction a = Range("A65536").End(xlUp).Row pour identifier dans chaque tableau la ligne du total. Celle-ci contient évidemment le total des débits et le total des crédits que je recherche. Illustration:
A1 900 -600
A2 500 -450
A3 400 -100
A4 Total crédits Total débits
En A1 le X et le Y ne doivent pas être figés ; si je change des données mes totaux sont actualisés, ma cellule A1 doit l’être aussi.
Sous Excel j’aurais en A1 :
= « Le total des débits est » & B4 & « et celui des crédits » & C4
Je suis incapable d’écrire la même chose en VBA… J’ai tout essayé, mais je dois avoir un problème de syntaxe. Je ne comprends notamment pas pourquoi cette commande ne marche pas :
Cells(1, 1).Formula = "= "Le total des débits est & B" & a & " & et celui des crédits & C" & a".
Les colonnes ne changent pas d'un tableau à l'autre et restent toujours B et C. La ligne, par contre, est aléatoire et est stockée dans la variable a.
Please help !
J’ai un petit problème avec une concaténation en VBA sous Excel.
J’ai plusieurs tableaux identiques mais de tailles variables (en nombre de lignes) dont la dernière ligne est un total.
Je souhaite élaborer une procédure qui écrit en A1 une phrase du type : « Le total des débits est X et celui des crédits Y »
J’utilise l’instruction a = Range("A65536").End(xlUp).Row pour identifier dans chaque tableau la ligne du total. Celle-ci contient évidemment le total des débits et le total des crédits que je recherche. Illustration:
A1 900 -600
A2 500 -450
A3 400 -100
A4 Total crédits Total débits
En A1 le X et le Y ne doivent pas être figés ; si je change des données mes totaux sont actualisés, ma cellule A1 doit l’être aussi.
Sous Excel j’aurais en A1 :
= « Le total des débits est » & B4 & « et celui des crédits » & C4
Je suis incapable d’écrire la même chose en VBA… J’ai tout essayé, mais je dois avoir un problème de syntaxe. Je ne comprends notamment pas pourquoi cette commande ne marche pas :
Cells(1, 1).Formula = "= "Le total des débits est & B" & a & " & et celui des crédits & C" & a".
Les colonnes ne changent pas d'un tableau à l'autre et restent toujours B et C. La ligne, par contre, est aléatoire et est stockée dans la variable a.
Please help !
A voir également:
- [Excel VBA] Problème formule de concaténation
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Liste déroulante excel - Guide
5 réponses
Bonjour,
votre concaténation est bel et bien "pas facile"
je ne suis pas sur d'avoir bien comprit, mais l'exemple
suivant devrait répondre à votre besoin ...
Lupin
votre concaténation est bel et bien "pas facile"
je ne suis pas sur d'avoir bien comprit, mais l'exemple
suivant devrait répondre à votre besoin ...
Sub Affichage() Dim Limite As Long, Syntaxe As String Dim PlageC As String, PlageD As String Limite = Range("A1:A65535").End(xlDown).Row PlageC = "B" & Limite PlageD = "C" & Limite Range("A1").Select Syntaxe = "=" & """" & "Le total des crédits est " & """" & "&" & PlageC & _ "&" & """" & " Le total des débits est " & """" & "&" & PlageD ActiveCell.Offset(0, 0).Value = Syntaxe End Sub '
Lupin
Avec ta suggestion j'ai le meme problème qu'avec ma commande Formula.
VBA me dit Compile error: Expected: End of statement.
Il y a un problème de guillemets sur "le total..." je pense.
De plus, si je ne m'abuse, ta formule va me mettre la valeur actuelle des cellules en A1 mais ce n'est pas uniquement ce que je veux.
J'y veux une référence à ces cellules de sorte que si elles changent, ma cellule A1 change aussi.
D'autres idées?
Merci de ton aide.
VBA me dit Compile error: Expected: End of statement.
Il y a un problème de guillemets sur "le total..." je pense.
De plus, si je ne m'abuse, ta formule va me mettre la valeur actuelle des cellules en A1 mais ce n'est pas uniquement ce que je veux.
J'y veux une référence à ces cellules de sorte que si elles changent, ma cellule A1 change aussi.
D'autres idées?
Merci de ton aide.
Salut,
t'as essayé un truc du genre:
Cells(1, 1).FormulaR1C1 = "= "Le total des débits est " & Cells(a ,2).Value & " et celui des crédits est " & Cells(a,3).Value & ".""
Pas sûr que ça marche mais ça se tente...
t'as essayé un truc du genre:
Cells(1, 1).FormulaR1C1 = "= "Le total des débits est " & Cells(a ,2).Value & " et celui des crédits est " & Cells(a,3).Value & ".""
Pas sûr que ça marche mais ça se tente...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question