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 !
Bonjour à tous et meilleurs vœux.
je voudrai automatiser une tâche répétitive dans des classeurs excel.
A l'ouverture je sélectionne une cellule A... qui sera différente suivant les classeurs.
Dans mon exemple je sélectionne a16
En A16 dans ce cas je voudrai écrire 31/12/2025
en C16 INV
en d16 0.00
en e16 0.00
surligner en jaune la ligne de A16 à h16 .
Je joint le fichier tableau comme exemple sachant que dans un autre classeur je sélectionnerai AXXX
Merci par avance si cela est possible
Bonjour à tous et meilleurs vœux.
je voudrai automatiser une tâche répétitive dans des classeurs excel.
A l'ouverture je sélectionne une cellule A... qui sera différente suivant les classeurs.
Dans mon exemple je sélectionne a16
En A16 dans ce cas je voudrai écrire 31/12/2025
en C16 INV
en d16 0.00
en e16 0.00
surligner en jaune la ligne de A16 à h16 .
Je joint le fichier tableau comme exemple sachant que dans un autre classeur je sélectionnerai AXXX
Merci par avance si cela est possible
Dans l'exemple fourni, on souligne en jaune que si... la colonne C est égale à "INV" ou les stocks sont sous un seuil donné ou selon d'autres critères?
J'ai mis le surlignement si on a une date et qu'on a "INV" dans la colonne C.
De plus, j'ai mis en A2 un hyperlien qui te positionne la la fin des données pour une nouvelle entrée.
J'ai mis le surlignement si on a une date et qu'on a "INV" dans la colonne C.
De plus, j'ai mis en A2 un hyperlien qui te positionne la la fin des données pour une nouvelle entrée.
Merci, mais l'ai omis de préciser que je travaille dans un tableau nommer "tableau1"
Quand j'exécute la macro elle choisie la première cellule vide après tableau1
Je joins le fichier tableau1
Ca je pouvais pas le deviner 🙂 et ça n'était pas le cas dans votre exemple.
Alors un détail mais important : quand vous utilisez des Tableaux Structurés (TS pour les intimes) il est parfaitement inutile de "prévoir" des lignes en plus. Le fait d'appuyer sur la touche Tab quand vous être sur la dernière cellule ajoute automatiquement une nouvelle ligne en recopiant les formules et la mise en forme. Idem si vous saisissez qqchose juste après la dernière ligne de votre TS
Pouvez vous corriger vos tableaux avant de lancer la macro ou voulez vous que la macro le fasse ?
Bon, voici le nouveau code qui tien compte du TS et supprime les lignes inutiles. C'est la 1ère colonne du tableau qui dit si la ligne est vide ou pas, j'espère que vous avez des dates dans toutes les lignes
VB:
Sub Remplissage_auto()
Dim Tab_Source As ListObject
Set Tab_Source = ActiveSheet.ListObjects(1)
On Error Resume Next ' Au cas où aucune cellule de la première colonne n'est vide
Tab_Source.ListColumns(1).DataBodyRange.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0
Dim Nouvelle_Ligne As ListRow
Set Nouvelle_Ligne = Tab_Source.ListRows.Add
With Nouvelle_Ligne
.Range(1) = #12/31/2025#
.Range(3) = "INV"
.Range(4) = 0
.Range(5) = 0
.Range(6).FormulaR1C1 = "=+R[-1]C+[@Entrée]-[@Sortie]"
.Range.Interior.Color = vbYellow
End With
End Sub
Bon, voici le nouveau code qui tien compte du TS et supprime les lignes inutiles. C'est la 1ère colonne du tableau qui dit si la ligne est vide ou pas, j'espère que vous avez des dates dans toutes les lignes
VB:
Sub Remplissage_auto()
Dim Tab_Source As ListObject
Set Tab_Source = ActiveSheet.ListObjects(1)
On Error Resume Next ' Au cas où aucune cellule de la première colonne n'est vide
Tab_Source.ListColumns(1).DataBodyRange.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0
Dim Nouvelle_Ligne As ListRow
Set Nouvelle_Ligne = Tab_Source.ListRows.Add
With Nouvelle_Ligne
.Range(1) = #12/31/2025#
.Range(3) = "INV"
.Range(4) = 0
.Range(5) = 0
.Range(6).FormulaR1C1 = "=+R[-1]C+[@Entrée]-[@Sortie]"
.Range.Interior.Color = vbYellow
End With
End Sub
Si je n'ai qu'une ligne à écrire cela fonctionne mais pas dans le cas ou l'on doit répéter l'écriture comme dans le tableau joint.
Dans ce tableau je sélectionne A29 pour l'écriture puis A32 et enfin A36
Si vous donnez les informations au compte goute ça complique un peu vous ne pensez pas ?
Comme en plus vous ne dites pas quelle est la finalité, faut deviner.
Je vais attendre les prochaines demandes avant de vous proposez qqchose, parce que je sens bien que vous allez en rajoutez.
Si vous donnez les informations au compte goute ça complique un peu vous ne pensez pas ?
Comme en plus vous ne dites pas quelle est la finalité, faut deviner.
Je vais attendre les prochaines demandes avant de vous proposez qqchose, parce que je sans bien que vous allez en rajoutez.
Je n'ai rien à ajouter mais j'aurai du joindre le fichier que j'ouvre à savoir une fiche de stock à mettre à jour en début d'année; il y a 1000 fiches.
Dans le fichier joint en me positionnant sur la cellule A18 je rempli la ligne et même chose pour A24 avec le raccourci c'est rapide.
dans un autre fichier la ligne à remplir sera Axx
OK.
Problème, vous utilisez les TS mais sans logique véritable. Il y a des lignes vides, des données saisie à la place des formules etc etc.
Bref, impossible de faire qqchose d'automatique.
Je vous propose donc une macro qui fait ce que vous demandez, MAIS, c'est à vous de choisir la cellule.
Si vous l'enregistrez dans le classeur PERSONAL.XLSB et que vous lui affectez le raccourci clavier que vous voulez, elle sera dispo dans tout vos classeurs
voici la macro (simpliste)
VB:
Sub Macro1()
' Touche de raccourci du clavier: Ctrl+Shift+A
With ActiveCell
.Value = #12/31/2025#
.Offset(, 2).Value = "INV"
.Offset(, 3).Value = 0
.Offset(, 4).Value = 0
.Resize(1, 8).Interior.Color = vbYellow
End With
End Sub
Voici les explications pour la mettre dans le classeur PERSONAL.xlsb
Dans Excel, vous exécutez une macro manuellement ou automatiquement. Une macro est une action ou un ensemble d’actions qui permettent d’automatiser des tâches. Cette rubrique vous montre plusieurs façons d’exécuter des macros manuellement ou automatiquement.
support.microsoft.com
Et enfin le fichier d'exemple, mais la macro doit être dans le PERSONAL.XLSB pour être dispo dans tous les classeurs
OK.
Problème, vous utilisez les TS mais sans logique véritable. Il y a des lignes vides, des données saisie à la place des formules etc etc.
Bref, impossible de faire qqchose d'automatique.
Je vous propose donc une macro qui fait ce que vous demandez, MAIS, c'est à vous de choisir la cellule.
Si vous l'enregistrez dans le classeur PERSONAL.XLSB et que vous lui affectez le raccourci clavier que vous voulez, elle sera dispo dans tout vos classeurs
voici la macro (simpliste)
VB:
Sub Macro1()
' Touche de raccourci du clavier: Ctrl+Shift+A
With ActiveCell
.Value = #12/31/2025#
.Offset(, 2).Value = "INV"
.Offset(, 3).Value = 0
.Offset(, 4).Value = 0
.Resize(1, 8).Interior.Color = vbYellow
End With
End Sub
Voici les explications pour la mettre dans le classeur PERSONAL.xlsb
Dans Excel, vous exécutez une macro manuellement ou automatiquement. Une macro est une action ou un ensemble d’actions qui permettent d’automatiser des tâches. Cette rubrique vous montre plusieurs façons d’exécuter des macros manuellement ou automatiquement.
support.microsoft.com
Et enfin le fichier d'exemple, mais la macro doit être dans le PERSONAL.XLSB pour être dispo dans tous les classeurs
- 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