programmation sur VBA d'un diagramme de GANTT

  • Initiateur de la discussion Initiateur de la discussion ISA
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

ISA

Guest


bonjour,

est ce que quelqu'un pourrait m'expliquer pourquoi cette ligne de programmation ne marche pas?

boite_type_utilisateur.Value = Range('a' & i).Value

merci

à bientôt

🙁
 
Bonjour Isa et le forum,

Pour que cela marche, il ne faut pas mettre Value à la variable. La variable est un objet sans valeur constante.

Voila un exemple :

Sub macro1 ()
Dim boite_type_utilisateur As Currency ' Valeur monétaire
Dim i As Integer

For i = 1 To 20
boite_type_utilisateur = Range('a' & i).Value +1
Range('B1') = boite_type_utilisateur
Next i
End Sub

Cordialement

Bernard
 
Re ISA,

La notion d'objet, c'est la référence à un objet. En VBA, l'application Excel est un objet, ActiveSheet est un objet, ActiveCell est un objet, Range('A1') est un objet.

Pour assigner une valeur à une variable, il suffit d'utiliser le signe égale, pour assigner à une variable une référence à un objet, on fait précéder l'instruction du mot clé Set

Exemple de macro à voir évoluer (saisir 11 dans la cellule 'A1') :

Sub AttriObjet()

Dim MyObjet As Variant

MyObjet = Range('A1') 'Assigne à la variable le contenu de la plage

Set MyObjet = Range('A1') 'Assigne à la variable une référence à l'objet Range.

End Sub

Pour voir les changements qui s'opèrent au niveau des variables locales, faire dans Visual Basic Editor Affichage/Fenêtre Variables Locales. Cette fenêtre s'ouvre en bas, puis, exécuter la macro ci-dessus pas à pas Affichage/Barres d'outils/Débogage. On voit la variable prendre trois états :

1- Variant/Empty ' Au début la variable est vide ;
2- Variant/Double ' La valeur 11 lui est assignée ;
3- Variant/Objet/Range ' Assigne à la variable une référence à l'objet Range (une plage).

Voila pour une première approche des objets en VBA.

Un bouquin est recommandé pour approfondir le cours.

Cordialement

Bernard
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
14
Affichages
758
Retour