VB Remplissage automatique cellule
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je débute avec VBA.
J'ai construit un classeur avec 12 feuilles. Une pour chaque mois de l'année, + deux autres feuilles récap.
Je cherche une macro qui remplirait les cellules vide de mon tableau en cliquant sur un bouton du type "bouton de commande"
Dans mon exemple : les cellules vides que je cherche à remplir automatique (avec la valeur 0) si elles ne contiennent aucune valeurs sont : Dx:AHy.
Merci pour votre aide
Windows / Edge 108.0.1462.54
- VB Remplissage automatique cellule
- Réponse automatique thunderbird - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Vb - Télécharger - Langages
- Excel cellule couleur si condition texte - Guide
3 réponses
Bonjour,
Encore faudrait-il savoir dans quelles Feuilles, dans quelles cellules
Un p’tit classeur avec 10/15 données anonymisées serait mieux pour régler le soucis
Allez dans http://cjoint.com
Cliquez sur "PARCOURIR" pour sélectionner le classeur
Clic le bouton "CREER LE LIEN"
Clic droit quand le lien est créé "COPIER LE LIEN"
Sur le post Clic droit "Coller".
Bonsoir,
Merci pour votre retour.
ci-joint le lien de mon fichier
https://www.cjoint.com/c/MAdsEqCBiwa
Ma question c'est de créer une macro qui puisse me permettre de remplir automatiquement les cellules vides.
J'ai trouvé un début de macro :
Sub FillEmptyBlankCellWithValue()
Dim cell As Range
Dim InputValue As String
On Error Resume Next
InputValue = InputBox("Enter value that will fill empty cells in selection", _
"Fill Empty Cells")
For Each cell In Selection
If IsEmpty(cell) Then
cell.Value = InputValue
End If
Next
End Sub
Elle me permet effectivement de remplir automatiquement les cellules SELECTIONNEES.
Mon idées c'est de créer un bouton commande lié à cette macro.
Mais j'aimerais modifier cette macro pour qu'elle remplisse des cellules spécifiques.
A savoir pour la feuille :
- 'JANV' les cellules D5:AH56.
- 'FEV' les cellules D5:AE57
Et ainsi de suite jusqu'à décembre.
Peut-être créer une macro par feuilles ?
Merci d'avance pour votre aide
Bonjour,
Je vous remercie encore pour votre aide pour le code. Aujourd'hui je suis bloquée sur deux autres points.
J'ai réussi à créer une macro qui me permets de créer un nouveau classeur "copie" du 1er.
Le ik c'est qu'il n'est pas vierge.
J'aimerai donc incrémenter dans la macro une "consigne" pour qu'il créer la copie du classeur vierge sur dans les feuilles suivantes :
Sheets("JANV").[D5:AH57]) et ainsi de suite jusqu'à décembre.
Le deuxième point sur lequel je suis bloquée, j'aimerai incrémenter une Msgbox dans votre code ci-dessous du style :
MsgBox("Etes-vous certain de vouloir mettre à jour votre classeur?",vbinformation+vbYesNoCanel,"demande de confirmation")
Le ik c'est qu'il me remplit quand même les feuilles malgré que je clique sur non ou annuler.
Pouvez-vous m'aider ?
En vous remerciant par avance
Je ne comprends pas ce que tu appelles "incrémenter". Peut-être veux-tu dire "ajouter"?
Si tu demandes de l'aide à propos d'un code, il est utile de nous montrer ce code. Ceci explique comment bien partager du code: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Merci pour votre retour.
Oui je veux ajouter.
Ci-dessous le code me permettant de créer une copie du fichier.
Sub NewWorkbook() Dim wbk As Workbook Dim Model As String Model = "D:\EXCEL\JAUGE RICOH ASSO.xlsm" Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="D:\EXCEL\new.xlsm" Application.DisplayAlerts = True ' ' NewWorkbook Macro ' End Sub
Depuis mon post ce matin j'ai trouvé ce bout de code pour effacer les données souhaitées . Il fonctionne, mais que sur la feuille active. Je ne parviens pas à le généraliser à l'ensemble du classeur.
Sub effacer() If MsgBox("Etes-vous certain de vouloir supprimer le contenu ?", vbYesNo, "Demande de confirmation") = vbYes Then Sheets("MARS").Range("D5:AG57").ClearContents Sheets("AVRIL").Range("D5:AF57").ClearContents Sheets("MAI").Range("D5:AG5").ClearContents Sheets("JUIN").Range("D5:AF57").ClearContents MsgBox "Le contenu a été effacé !" End If End Sub
En vous remerciant pour votre aide.
Ps: Connaissez-vous un site pour apprendre le VB ?