Activecell.Value = "Une variable"
Fermé
makks
Messages postés
17
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
26 février 2016
-
26 févr. 2016 à 10:52
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 26 févr. 2016 à 15:19
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 26 févr. 2016 à 15:19
A voir également:
- Activecell.value vba
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Vba dépassement de capacité ✓ - Forum Excel
4 réponses
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
26 févr. 2016 à 11:00
26 févr. 2016 à 11:00
Bjr,
Avez-vous le code entier svp ?
2 pb que j'entrevois :
- la dimension de f : l'avez-vous déclarée ?
- le caractère variable de f : si vous n'avez pas utilisé la fonction "Set f =..." alors f sera fixe.
Mais encore une fois on y verra plus clair avec votre code
Avez-vous le code entier svp ?
2 pb que j'entrevois :
- la dimension de f : l'avez-vous déclarée ?
- le caractère variable de f : si vous n'avez pas utilisé la fonction "Set f =..." alors f sera fixe.
Mais encore une fois on y verra plus clair avec votre code
Arkana0
Messages postés
4399
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
Modifié par Arkana0 le 26/02/2016 à 11:01
Modifié par Arkana0 le 26/02/2016 à 11:01
Bonjour,
Attention quand on parle de variable dans du code, ça n'a rien à voir avec une formule Excel.
La syntaxe pour insérer une formule Excel dans une cellule par une macro en vba c'est, en reprenant ton exemple :
Ou bien la variante avec Cells(x,y)
Après, je pense que tu vas vouloir répéter ça sur plusieurs lignes. Donc dans le code que j'ai écris plus haut, il faudra remplacer les "1" par :
Attention quand on parle de variable dans du code, ça n'a rien à voir avec une formule Excel.
La syntaxe pour insérer une formule Excel dans une cellule par une macro en vba c'est, en reprenant ton exemple :
ActiveCell.FormulaLocal = "=SOMME(A1:B1)"
Ou bien la variante avec Cells(x,y)
Après, je pense que tu vas vouloir répéter ça sur plusieurs lignes. Donc dans le code que j'ai écris plus haut, il faudra remplacer les "1" par :
" & ActiveCell.Row & "
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
26 févr. 2016 à 11:01
26 févr. 2016 à 11:01
Bonjour,
Pas de problème avec Excel version française :
A+
Pas de problème avec Excel version française :
Sub Test()
Dim f As String
f = "=Somme(A1;B1)"
ActiveCell.FormulaLocal = f
End Sub
A+
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
26 févr. 2016 à 11:48
26 févr. 2016 à 11:48
Bonjour,
Est-ce que i et x et annee sont bien initialisés ?
passe bien.
Le .select suivi du activecell sont inutiles.
eric
Est-ce que i et x et annee sont bien initialisés ?
Dim u As Long, i As Long, x As Long, annee As Long, f As String u = 2 i = 5 x = 1 annee = 2016 If u = 2 Then f = "=SOMMEPROD((Données!P:P)*((Données!K:K=""E"")+(Données!K:K=""V"")+(Données!K:K=""P""))*(Données!D:D=" & i - x + 1 & ")*(Données!C:C=" & annee & ")*((Données!L:L=""P"")+(Données!L:L=""E"")+(Données!L:L=""V"")))" End If If u = 3 Then f = "=SOMMEPROD((Données!P:P)*((Données!K:K=""E"")+(Données!K:K=""V"")+(Données!K:K=""""))*(Données!D:D=" & i - x + 1 & ")*(Données!C:C=" & annee & ")*(Données!L:L=""P""))" End If [D5].FormulaLocal = f
passe bien.
Le .select suivi du activecell sont inutiles.
eric
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
26 févr. 2016 à 12:41
26 févr. 2016 à 12:41
et accessoirement si tu pouvais dire quelle erreur tu as ?
Rien ne marche ne veut rien dire
Rien ne marche ne veut rien dire
makks
Messages postés
17
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
26 février 2016
1
26 févr. 2016 à 13:19
26 févr. 2016 à 13:19
Désolé, je n'avais pas vu la réponse,
Oui oui, toute les valeurs sont bien initialisés avant,
l'erreur qui s'affiche est l'erreur 1004 : Erreur définie par l'application ou par l'objet.
Et comme je l'ai écrit dans une réponse plus haute, mon tableau se remplit bien si je rentre une chaine de caractère exemple : ActiveCell.FormulaLocal = "exemple" mais il ne trouve pas la valeur f, de plus avant l'affichage de l'erreur: u=2; i=9; x=9 et f est égal à la bonne chaine de caractère.
Oui oui, toute les valeurs sont bien initialisés avant,
l'erreur qui s'affiche est l'erreur 1004 : Erreur définie par l'application ou par l'objet.
Et comme je l'ai écrit dans une réponse plus haute, mon tableau se remplit bien si je rentre une chaine de caractère exemple : ActiveCell.FormulaLocal = "exemple" mais il ne trouve pas la valeur f, de plus avant l'affichage de l'erreur: u=2; i=9; x=9 et f est égal à la bonne chaine de caractère.
makks
Messages postés
17
Date d'inscription
mercredi 10 février 2016
Statut
Membre
Dernière intervention
26 février 2016
1
26 févr. 2016 à 13:44
26 févr. 2016 à 13:44
Ok, problème réglé, je ne sais pas trop d'ou ça venait mais bon :/
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
26 févr. 2016 à 15:19
26 févr. 2016 à 15:19
Parfois fermer et rouvrir excel le fait repartir sur de meilleures bases et une pseudo erreur ne se produit plus.
Modifié par makks le 26/02/2016 à 11:22
Le code est un plus long mais je pense que cette partie peut suffir, sans le contexte entier, c'est compliqué.
f est bien déclaré en string et j'arrive à remplir mon tableau avec des "f" quand je met des guillemets, sans guillemets j'obtient une erreur "objet ect..."
Je précise que les formules marchent, déjà testé.
26 févr. 2016 à 11:29
A quel moment x est défini en dimension et en valeur initiale ? Avant dans une partie du code que nous n'avons pas ?
A quelle valeur de u le code plante ? Pour le savoir mettez une "msgbox u" avant l'utilisation de f.
26 févr. 2016 à 11:35
Je suis capable d'afficher n'importe qu'elle chaine de caractère sur mes cellules que je désire : ect
mais impossible de ressortir la valeur de f.
Modifié par Theo.R le 26/02/2016 à 11:39
Donc au moment du débogage, quelles sont les valeurs de vos variables : u, i, x et f ?
Modifié par makks le 26/02/2016 à 12:20
Soit colonne 2(B), ligne 9, ici pas de problème normalement, c'est le début de mon tableau.