A voir également:
- Récupérer valeur inputbox vba
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment recuperer une video sur youtube - Guide
- Impossible de récupérer mon compte gmail - Guide
15 réponses
;-)
Un petit truc !! L'objet "Range", sous Excel, comme sous VBA Excel, n'est utile, et réellement fonctionnel que sur une PLAGE de cellules... "Range" est automatiquement utilisé quand on dit à Excel d'enregistrer une macro, mais c'est pas du vrai dev, ça....
Si l'on doit adresser UNE cellule, c'est l'objet Cells qu'il faut utiliser, pas Range.. Si on doit utiliser une colonne, c'est l'objet Columns(x), une ligne, Rows(x)..... Bref, pour faire du bon code, il faut utiliser les bons objets !!
C'est pas une critique !! Vous verrez, ça vous servira !! Faut bien penser !! ;-)
Workbook, au singulier, plantera, car cela implique la création d'une classe d'objets... Il faut utiliser Workoooks(x) (au pluriel), qui là, fait référence à une collection.... WorkSheet1, idem !! Plantagua !! C'est Sheets(x), l'objet à utiliser...
Un exemple de code : Workbooks(1).sheets(1).cells(1,1).value
;-)
A votre service !! ;-) Mais tout cela reste encore à développer !! Ce n'est qu'une partie de l'iceberg !! ;-) Reste un milliard de choses à expliquer !! ;-)
Mais on es là pour ça, me direz-vous !! ;-)
Wild and Free
Un petit truc !! L'objet "Range", sous Excel, comme sous VBA Excel, n'est utile, et réellement fonctionnel que sur une PLAGE de cellules... "Range" est automatiquement utilisé quand on dit à Excel d'enregistrer une macro, mais c'est pas du vrai dev, ça....
Si l'on doit adresser UNE cellule, c'est l'objet Cells qu'il faut utiliser, pas Range.. Si on doit utiliser une colonne, c'est l'objet Columns(x), une ligne, Rows(x)..... Bref, pour faire du bon code, il faut utiliser les bons objets !!
C'est pas une critique !! Vous verrez, ça vous servira !! Faut bien penser !! ;-)
Workbook, au singulier, plantera, car cela implique la création d'une classe d'objets... Il faut utiliser Workoooks(x) (au pluriel), qui là, fait référence à une collection.... WorkSheet1, idem !! Plantagua !! C'est Sheets(x), l'objet à utiliser...
Un exemple de code : Workbooks(1).sheets(1).cells(1,1).value
;-)
A votre service !! ;-) Mais tout cela reste encore à développer !! Ce n'est qu'une partie de l'iceberg !! ;-) Reste un milliard de choses à expliquer !! ;-)
Mais on es là pour ça, me direz-vous !! ;-)
Wild and Free
qu'est ce que range ?
une function ? faudrait la voir.
une textbox ou l'équivalent ? dans ce cas range(index).text=??
range(0).text range(1).text ...
ou si index calculé dans a1 et a2
range(a1).text range(a2).text
range en tout cas n'est pas une instruction VB
une function ? faudrait la voir.
une textbox ou l'équivalent ? dans ce cas range(index).text=??
range(0).text range(1).text ...
ou si index calculé dans a1 et a2
range(a1).text range(a2).text
range en tout cas n'est pas une instruction VB
Range n'est pas une instruction de VB mais une manière de définir une plage de cellule dans VBA Excel. On peut aussi utiliser Cells, je crois. Le problème, c'est que le nom demandé dans l'input box se trouve bien dans la variable Nom, mais que cette variable n'est apparemment pas reconnue par range ou cells qui sont des objets de la feuille de calcul d'Excel.
Si c'est bien le problème, comment faire pour qu'une variable soit reconnue partout ? J'ai essayé avec Static Nom as ... sans effet.
Merci de votre aide.
Si c'est bien le problème, comment faire pour qu'une variable soit reconnue partout ? J'ai essayé avec Static Nom as ... sans effet.
Merci de votre aide.
est-ce que range("A1").text="Exemple" fonctionne ?
si non ça ne vient pas de la variable "nom"
si oui, il n'y a pas de raison.
si non ça ne vient pas de la variable "nom"
si oui, il n'y a pas de raison.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bien vu, d'essayer avec des " ", pour essayer sans la variable.
En fait je viens de résoudre mon problème. Ca marche avec ou sans " ", mais en utilsant Range("A1").value au lieu de Range("A1").text
Merci pour l'aide.
Il me reste encore à résoudre un problème plus complexe. "Dérivée et tangente sur un graphe Excel" lancé sur le forum il y a quelques heures et qui n'a pas trop de succès pour le moment...
En fait je viens de résoudre mon problème. Ca marche avec ou sans " ", mais en utilsant Range("A1").value au lieu de Range("A1").text
Merci pour l'aide.
Il me reste encore à résoudre un problème plus complexe. "Dérivée et tangente sur un graphe Excel" lancé sur le forum il y a quelques heures et qui n'a pas trop de succès pour le moment...
Ca ne m'étonne pas du tout. J'ai déjà utilisé range("A1").value sur une autre machine ( avec Excel 97 justement ) et il me semble que ça marchait. Ici, chez moi, j'ai Excel 2000 et apparement ça ne marche pas...
C'est quand même pas toujours très logique, l'évolution des versions 95, 97, 2000, XP...
C'est quand même pas toujours très logique, l'évolution des versions 95, 97, 2000, XP...
resalut
je viens de tester sur excel 2000 mon range value fonctionne sur workbook_open
voici le code testé sur 97 et nt et sur excel 200 et W 2000
pas de probleme particuliers
as-tu coché dans options, general, parametres : style de reference L1C1 ( ca pourrait peut-etre venir de la ) donc range ("A1") ne fonctionne pas
A+
Essayer.........des fois ça marche............
je viens de tester sur excel 2000 mon range value fonctionne sur workbook_open
voici le code testé sur 97 et nt et sur excel 200 et W 2000
sub workbook-open() nom=inputbox("entrer un nom") Range("A1").value=nom
pas de probleme particuliers
as-tu coché dans options, general, parametres : style de reference L1C1 ( ca pourrait peut-etre venir de la ) donc range ("A1") ne fonctionne pas
A+
Essayer.........des fois ça marche............
Salut a toi !!
Lorsque tu affecte des cellules sous excell, quelques soit la methode (range,cells..) il faut que tu precise la feuille sur laquelle (ton code est placé dans l'evt workbook_Open) tu veux agir en passant par collection de feuilles worksheets ou par l'instructuin activesheet pour la feuille courante.
A+
Lorsque tu affecte des cellules sous excell, quelques soit la methode (range,cells..) il faut que tu precise la feuille sur laquelle (ton code est placé dans l'evt workbook_Open) tu veux agir en passant par collection de feuilles worksheets ou par l'instructuin activesheet pour la feuille courante.
A+
Justement...
Ca marche même si on ne précise pas:
Workbook.Worksheet1.Range("A1").value
Ce qui signifie que c'est la sheet1 ( celle qui est active ) qui est prise par défaut ?
Ca marche même si on ne précise pas:
Workbook.Worksheet1.Range("A1").value
Ce qui signifie que c'est la sheet1 ( celle qui est active ) qui est prise par défaut ?
Merci pour tous ces conseills avisés.
J'ai écrit workbook sans s et sheet de manière approximative, sahant qu'il y avait des erreurs, mais comptant bien sur les Info express automatique de l'éditeur VBA pour me proposer la bonne syntaxe.
Il faut tout de même que je potasse un peu la difference entre les classes d'objets et les collections et tout ce méli mélo...
Encore merci et à plus.
Cipango.
J'ai écrit workbook sans s et sheet de manière approximative, sahant qu'il y avait des erreurs, mais comptant bien sur les Info express automatique de l'éditeur VBA pour me proposer la bonne syntaxe.
Il faut tout de même que je potasse un peu la difference entre les classes d'objets et les collections et tout ce méli mélo...
Encore merci et à plus.
Cipango.
Désolé, mais je n'ai encore pas eu le temps de chercher à comprendre les modules de classe et autres concepts de VBA. En fait je n'ai pas besoin de ces fonctions pour le moment dans VBA.
Bon courage dans tes recherches. Il y a certainement quelqu'un de compétent prêt à t'aider sur ce site.
Bonne soirée.
Bon courage dans tes recherches. Il y a certainement quelqu'un de compétent prêt à t'aider sur ce site.
Bonne soirée.