Remplir plusieurs cellules en même temps

rastafouette

XLDnaute Junior
Bonjour,

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...

Merci d'avance de votre aide.

Rastafouette
 
Dernière édition:

mécano41

XLDnaute Accro
Re : Remplir plusieurs cellules en même temps

Bonjour,

Avec ceci par exemple, tu mets la valeur 45 dans les cellules non contiguës A1, A20 et A30 :

Code:
Sub essai()
Dim Plage As Range
Set Plage = Union([A1], [A20], [A30])
Plage.Value = 45
End Sub

Pour le reste, il faut faire un sous-programme de test ; je ne connais pas de solution toute faite...

Cordialement
 

rastafouette

XLDnaute Junior
Re : Remplir plusieurs cellules en même temps

Merci de ta réponse.

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 ! :D

Merki !
 

rastafouette

XLDnaute Junior
Re : Remplir plusieurs cellules en même temps

Euh... Je comprends pas bien ta réponse Robert...

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)
 

mécano41

XLDnaute Accro
Re : Remplir plusieurs cellules en même temps

Peut-être ainsi...

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....)

Cordialement
 

Pièces jointes

  • EssaiRastafouette.xls
    34.5 KB · Affichages: 313

rastafouette

XLDnaute Junior
Re : Remplir plusieurs cellules en même temps

Re-bonjour à tous,

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.)

Merci encore de vos lumières !
 

mécano41

XLDnaute Accro
Re : Remplir plusieurs cellules en même temps

Bonjour,

Parce qu'il faut traiter l'erreur : (à moins que quelqu'un ait une autre solution)

Avant le : Set Plage... tu ajoutes :

Code:
On Error GoTo Erreur1

et avant le : End Sub, tu mets :

Code:
Erreur1:
With ActiveSheet
    Range("A1").Select
End With



Cordialement
 

tototiti2008

XLDnaute Barbatruc
Re : Remplir plusieurs cellules en même temps

Bonjour rastafouette,

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
 

TEMAGOULTFARID

XLDnaute Occasionnel
Re : Remplir plusieurs cellules en même temps

Bonjour,

Avec ceci par exemple, tu mets la valeur 45 dans les cellules non contiguës A1, A20 et A30 :

Code:
Sub essai()
Dim Plage As Range
Set Plage = Union([A1], [A20], [A30])
Plage.Value = 45
End Sub

Pour le reste, il faut faire un sous-programme de test ; je ne connais pas de solution toute faite...

Cordialement
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 D20:D31 .
Par avance, merci
bien cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 079
Membres
103 112
dernier inscrit
cuq-laet