Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
rebonjour,

je vous remercie de votre réponse.
J'aimerais avoir quelques précisions par rapport à la notion d'objet.
Qu'est ce qu'il faut que je modifie?

merci
à bientôt
 
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…