Voilà, je voudrais pouvoir remplir plusiers cellules en même temps, c'est à dire :
Je dispose dans mon fichier d'un formulaire avec 4 combobox et 2 text box.
A la fermeture de ce formulaire, je récupère une concatenation des 6 box que je mets dans le commentaire de la cellule et la somme des 2 textbox que je mets dans la valeur de la cellule (ce sont des heures).
Je voudrais pouvoir executer cette macro sur une selection d'une plage de cellule et non sur une seule. Edit : c'est à dire que je selectionne une plage, je valide mon formulaire et les comm et la somme se mettent à l'identique dans toutes les cases.
Est-ce possible avec une commande unique et rapide, sans passer par des boucles, etc... ??
questions subsidiaires : à la validation/fermeture du formulaire, comment tester rapidement que c'est bien un nombre qui a été rentré dans les textbox ? Que leur somme est bien comprise entre 32 et 40 (ou alors ça s'affiche en rouge) ?
(Ou alors ça se trouve dans les propriétés des textbox, mais laquelle ?? )
Et encore une : puis-je trouver qque part qqch qui ressemblerait à un listing des propriétés des box des formulaires avec leurs explications et des exemples. Comme l'aide d'excel en fait, mais sur un seul document...
En fait, mes plages de cellules sont sélectionnées avec la souris par l'utilisateur et sont différentes à chaque fois.
Et s'il faut des commandes plus complexes, c'est pas grave, je suis ouverte à toutes les solutions. Plus j'en apprends, plus je suis contente !
Je voudrais pouvoir faire qqch d'automatique (pour remplir mes cell & leurs comm avec mes données) lors de la validation de mon formulaire, car ce ne sera pas toujours moi qui utiliserai ce fichier et je voudrais en simplifier l'utilisation au max (uniquement avec des boutons et des formulaires par ex)
Les cellules ( contiguës ou non) sélectionnées par l'opérateur contiendront la somme des deux Textbox inférieures et les commentaires seront la concaténation des deux Textbox supérieures
( à noter que la mise en place du commentaire ne peut se faire que cellule par cellule d'où le For each....)
Je reviens sur la fonction. Je sélectionne donc ma plage de cellule par :
Set Plage = Application.InputBox("Sélectionnez les cellules à traiter", Type:=8)
or, quand je selectionne le bouton "Annuler" sur cet inputbox, ça me renvoie une erreur. Pourquoi ?
(J'ai essayé de rentrer sur la ligne d'après un test If si Plage est ="" mais il ne va apparement pas jusque là....)
(Si je selectionne 1 ou plusieurs cell, je n'ai aucun souci.)
le problème est que si l'utilisateur clique sur Annuler, l'InputBox renvoie Faux qui n'est pas une plage et donc tu ne peux pas utiliser l'instruction Set...
une possibilité pour éviter l'erreur
Code:
Sub test()
Dim Plage As Range
On Error GoTo Fin
Set Plage = Application.InputBox("Sélectionnez les cellules à traiter", Type:=8)
On Error GoTo 0
'...
Exit Sub
Fin:
End Sub
Bonsoir Mécano41.
je me permet de vous demander s'il y a possibilité de mattre une lettre ou un texte au lieu d'un chiffre et d'incrémenté par exemple de D2031 .
Par avance, merci
bien cordialement