Forum Discussion
macro VBA excel nommer une cellule
- Oct 16, 2022
Peut-être:
Dim s As String Dim reto As Range Set reto = Selection Do s = InputBox("Scannez le document, puis cliquez sur 'OK'; en fin de série, cliquez sur OK! ", " Enregistrement du retour ") If s = "" Then Exit Do Application.Goto Reference:="codbarretour" Do While ActiveCell > 0 ActiveCell.Offset(1, 0).Activate Loop reto.Select reto.Formula = s ActiveCell.Offset(0, 10).Activate Range(ActiveCell, Range("chrono")).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues ActiveCell.Offset(0, -12).Activate Loop
Apparemment, vous ne dormez jamais? 😉
Sinon, j'ai deux questions quasi existentielles:
- lorsque je déroule une macro en pas à pas [F8], je ne vois pas l'effet sur la feuille elle même, contrairement à XL4.
- J'aimerais conserver les macros que j'ai écrites dans un seul fichier, où j'irais piocher des formules en cas de besoin.
Pour l'instant, je les recopie sur une feuille Word, mais ça me paraît primaire!
Bonne journée!
- HansVogelaarOct 27, 2022MVP
Vous devriez voir l'effet d'une macro lorsque vous appuyez sur F8.
Vous pouvez créer macros dans le classeur de macros personnelles PERSONAL.XLSB. Voir Créer et enregistrer toutes vos macros dans un classeur unique (translation automatique...)
- bernard_daniel_1950Oct 27, 2022Iron ContributorEncore deux questions...
-J'appuie sur F8 et, effectivement, la macro se déroule ligne par ligne... mais je ne vois pas l'effet, étape par étape, sur la feuille de calcul elle-même!
- J'ai créé mon personal.XLSB, je voudrais maintenant y faire rentrer mes macros déjà créées. Comment faire?
Je n'ose plus dire merci, cela devient répétitif! - HansVogelaarOct 27, 2022MVP
> J'appuie sur F8 et, effectivement, la macro se déroule ligne par ligne... mais je ne vois pas l'effet, étape par étape, sur la feuille de calcul elle-même!
C'est curieux - je ne comprends pas ça...
> J'ai créé mon personal.XLSB, je voudrais maintenant y faire rentrer mes macros déjà créées. Comment faire?
Vous pouvez faire glisser des modules de code d'un classeur ordinaire vers PERSONAL.XLSB dans le Visual Basic Editor pour effectuer une copie.
- bernard_daniel_1950Oct 28, 2022Iron ContributorBonjour,
j'ai créé mon personal.xlsb. Est-il possible de changer le nom des modules pour le rendre plus explicite?
par ailleurs, pour l'autre problème, la macro affiche la feuille de calcul uniquement en cas de MsgBox...
et, enfin, je bute sur quelque chose:
---------------
Dim j As String
j = InputBox("Indiquez le jour d'insertion.", " Jour d'insertion")
Range("A14").Select
Do While ActiveCell.Value > j
ActiveCell.Offset(1, 0).Activate
Loop
-------------------
Je reste sur A14! Je dois rater quelque chose...
Dank u! - HansVogelaarOct 28, 2022MVP
Oui, vous pouvez changer le nom des modules:
Qu'est-ce que vous tapez dans le MsgBox?
- bernard_daniel_1950Oct 28, 2022Iron Contributor-Merci, je n'avais pas cette fenêtre!
-Un jour quelconque, sous forme numérique. Par exemple: 21 pour le 21ème jour du mois.
Cela me servira pour entrer une ligne ou plusieurs dans un tableau, à une date postérieure. - HansVogelaarOct 28, 2022MVP
Dans le Visual Basic Editor, tapez F4 pour activer cette fenêtre.
Serait-il possible de joindre un classeur (sans information personnalisée ou sensitive)? Ou de télécharger le classeur vers Google Drive ou OneDrive, et afficher un lien ici?
- bernard_daniel_1950Oct 28, 2022Iron Contributor
Mon tableau est -relativement- complexe... dans sa partie cachée!
Jour NOM- Prénom Carte perdue Statut particulier Inscription payante Inscription gratuite Inscription vacanciers Réinscription payante Réinscrip-tion gratuite impr. NB A4 impr. NB A3 impr. Couleur A4 impr. Couleur A3 Montant dû Mode de paiement Espèces Chèque CB Gratuit QUI? 1 DRONET Stéphanie 1 20,00 € Chèque 20,00 € Erwan 1 ROTTIER Nicolas 2 0,00 € Gratuit 0,00 € Erwan 1 DRONET Stéphanie 4 3 2,60 € Espèces 2,60 € Erwan 1 YENTUR Mesut 1 0,00 € Gratuit 0,00 € Erwan 1 LELIEVRE Adeline 1 20,00 € Espèces 20,00 € Erwan 1 SILVANO Eliane 1 20,00 € Espèces 20,00 € Erwan 1 PIAU Anne 1 20,00 € Chèque 20,00 € Erwan ci dessous le début de macro:
---------------------
Sub inserer_ligne_vb()
'
' inserer_ligne_vb Macro
' insère une ou plusieurs lignes dans le tableau
''
Dim s As String
s = InputBox("Indiquez le nombre de lignes à insérer: de 1 à 3.", " Insertion")
If s >= 3 Then
MsgBox "Nombre de lignes trop important (3 max)!"
Exit Sub
End If
Dim j As String
j = InputBox("Indiquez le jour d'insertion.", " Jour d'insertion")
Range("A14").Select
Do While ActiveCell.Value > j
ActiveCell.Offset(1, 0).Activate
LoopEnd Sub
----------------------
Je souhaite rajouter des lignes, sans insérer, car les 800 colonnes de traitement ne suivraient pas!
donc, copier le tableau dans sa partie "public", le décaler d'une ou plusieurs lignes afin d'entrer de nouvelles saisies.
Je ne sais pas si je suis bien clair!
- HansVogelaarOct 28, 2022MVP
Dans votre example, il n'y a qu'un seul valeur 1 dans colonne A...
- bernard_daniel_1950Oct 28, 2022Iron ContributorDésolé, ce n'st qu'un extrait!
Le tableau a 300 lignes... Actuellement, nous avons des entrées jusqu'au 21.
Par exemple, pour le 21octobre, nous aurons un certain nombre d'entrées pour ce jour.
Et donc, mon souci est d'intégrer une entrée tardive, par exemple au 15, pour respecter impérativement la chronologie.