EXPERT VBA REQUIS : Insertion de formule sur une plage en VBA Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Q
QuentinATSA
Membre habitué
Membre habitué
Messages : 70
Inscrit le : 26 septembre 2019
Version d'Excel : 2013

Message par QuentinATSA » 15 octobre 2019, 09:24

Bonjour,

Aujourd'hui je viens poser une question aux connaisseurs. J'ai une colonne de B1 à B10 avec une mise de forme conditionnelle de type barre de données. Les barres apparaissent en fonction de la valeur en pourcentage qui est inscrite sous ses cases. Je souhaiterai un code VBA qui disent juste que B1=A1, B2=A2,etc...
Comme cela je peux visualiser la valeur en colonne A1:A10 et je peux voir les barres de progression du pourcentage en B1:B10.
ATTENTION : je ne veux pas que "B1.Value=A1.Value" mais je veux inscrire dans B i: "=A i". Je veux pouvoir modifier A et voir mes barres bouger
Modifié en dernier par QuentinATSA le 15 octobre 2019, 09:44, modifié 1 fois.
Avatar du membre
Paulox
Membre fidèle
Membre fidèle
Messages : 157
Appréciations reçues : 7
Inscrit le : 26 février 2011
Version d'Excel : 2013

Message par Paulox » 15 octobre 2019, 09:26

Bonjour,

Tu aurais un fichier exemple pour que ce soit plus clair et que ça colle à ce que tu souhaites ?

Merci
Q
QuentinATSA
Membre habitué
Membre habitué
Messages : 70
Inscrit le : 26 septembre 2019
Version d'Excel : 2013

Message par QuentinATSA » 15 octobre 2019, 09:29

Je vais réaliser un fichier excel pour te montrer rapidement mon désir.

5 minutes
Avatar du membre
Paulox
Membre fidèle
Membre fidèle
Messages : 157
Appréciations reçues : 7
Inscrit le : 26 février 2011
Version d'Excel : 2013

Message par Paulox » 15 octobre 2019, 09:33

Peut-être dans cet esprit d'après ce que j'ai compris ?
Test.xls
(34.5 Kio) Téléchargé 6 fois
Q
QuentinATSA
Membre habitué
Membre habitué
Messages : 70
Inscrit le : 26 septembre 2019
Version d'Excel : 2013

Message par QuentinATSA » 15 octobre 2019, 09:39

Je met ci joint un exemple de ce que je souhaite. Merci
Exemple_Barre.xlsm
(9.13 Kio) Téléchargé 6 fois
Q
QuentinATSA
Membre habitué
Membre habitué
Messages : 70
Inscrit le : 26 septembre 2019
Version d'Excel : 2013

Message par QuentinATSA » 15 octobre 2019, 09:43

Oui Paulox.... mais maintenant avec la VBA.
Je n'appelle pas cela de la VBA. Faire des barres de données je pense qu'il y a assez de tuto sur internet pour comprendre comment cela fonctionne. Je parle d'un code de programmation informatique de language Visual BAsic pour que les valeurs de ma colonne B soit égal au valeur de ma colonne A même et pas seulement à un instant donné.

Cordialement,

QuentinATSA
Avatar du membre
bitaljoe
Membre habitué
Membre habitué
Messages : 60
Appréciations reçues : 9
Inscrit le : 16 octobre 2017
Version d'Excel : 2010 - 2019 FR
Version de Sheets : FR

Message par bitaljoe » 15 octobre 2019, 09:56

Bonjour,

Voilà un exemple avec la selection de la Cellule A&"i" qui s'insère en H10 à l'aide de Input Box.

Avec au préalable les colonnes H et I, préparé pour ressortir les données et la barre de progression en pourcentage.
Exemple_Barre.xlsm
(9.37 Kio) Téléchargé 5 fois

Sub Hum()

Dim myRange As Range

Set myRange = Application.InputBox(prompt:="Sample", Type:=8)

Worksheets("Feuil1").Range("h10").Value = myRange

End Sub


:btres:
2 membres du forum aiment ce message.
“Tout est changement, non pour ne plus être, mais pour devenir ce qui n'est pas encore.” :omg:
Q
QuentinATSA
Membre habitué
Membre habitué
Messages : 70
Inscrit le : 26 septembre 2019
Version d'Excel : 2013

Message par QuentinATSA » 15 octobre 2019, 10:30

C'est très gentil de ta part de vouloir m'aider @bitaljoe. (Quand on dit VBA j'apprécie qu'on me réponde en VBA)
Cependant comme ton code ne correspond pas exactement à mes attentes je vais réexpliquer comment cela fonctionne de A à Z. En fait je me suis mal exprimé ! Donc :

J'ai créé un planning interactif sur lequel mes opérateur peuvent suivre la progression du projet.
Quand ils appuient sur un bouton un bloc avec de nombreuses colonnes se créé.
Dans la dernière colonne j'ai ajouté les barres de données. Dans l'avant-dernière colonne les opérateurs doivent inscrire leur progression actuelle dans leur projet. (la barre est juste un indicateur visuel rapide)

Donc lors de la création du bloc je souhaiterai que dans les 10 cases où se trouve mes barres de données le code VBA m'inscrive (ici A et B pour l'exemple) :

Dans B1 : "=A1"
Dans B2 : "=B2"
Dans B3 : "=B3"
etc...

Mais je ne veux surtout PAS que le code m'inscrive :
A1.value = B1.Value
A2.Value = B2.Value


Alors pourquoi ???

Car lorsque l'opérateur prend en main l'excel le bloc est créé instantanément et c'est les valeurs qui sont apportées par cette personne en A"i" qui change la barre dans B"i". D'où ma volonté d'inscrire une "FORMULE" et non pas une "VALEUR".





Je fais une xemple foireux de ce que je souhaiterai. Et en réalité je ne sais pas si c'est possible en VBA !
For i=1 To 10
Range("B" & i).Value = "=A & i"
Next i
Sauf que je ne peux pas dire =A & I dans une case Excel..... Et c'est la que je suis complètement bloqué.
Donc est ce possible d'inscrire une formule changeante dans Excel via la VBA ???
Avatar du membre
bitaljoe
Membre habitué
Membre habitué
Messages : 60
Appréciations reçues : 9
Inscrit le : 16 octobre 2017
Version d'Excel : 2010 - 2019 FR
Version de Sheets : FR

Message par bitaljoe » 15 octobre 2019, 11:24

Bonjour,

J'ai moi aussi du mal à faire apparaître la référence de la cellule. Je me souvient l'avoir fait mais au travers des formules d'addition et soustraction.

Je te propose ceci, vue que les valeurs de Ai ne vont pas changer entre l’exécution et le remplissage.


Sub Hum()

For i = 1 To 10
Range("H" & i).FormulaR1C1 = Range("A" & i)
Next i

End Sub

Cdt.
“Tout est changement, non pour ne plus être, mais pour devenir ce qui n'est pas encore.” :omg:
Q
QuentinATSA
Membre habitué
Membre habitué
Messages : 70
Inscrit le : 26 septembre 2019
Version d'Excel : 2013

Message par QuentinATSA » 15 octobre 2019, 11:29

Merci on se rapproche du schmilblick un peu plus à chaque fois.

Cependant on en revient toujours au problème d'actualisation. Ici le programme fonctionne à un instant donné (quand on lance la macro) or je voudrais qu'on lance la macro, et ensuite on modifie les valeurs de la première colonne pour que les barres bougent.

Dur dur....


EDIT : Ta formule n'est pas exactement bonne mais je crois qu'avec ce que tu m'as donné je peux réussir : FORMULAR1C1 !!!

MERCI
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message