Oct 13 2022 01:20 AM
Dans une macro, je veux donner un nom à une cellule donnée, à savoir celle où je suis au lancement de la macro.
si je laisse "range", avec des références absolues, la macro fonctionne, mais une seule fois. Le nom choisi disparait de la liste de la feuille, mais est toujours présent dans les noms de "formule-gestionnaire de noms".
voici ce que j'ai écrit, qui ne fonctionne pas:
ActiveWorkbook.Names.Add Name:="horo4", RefersToR1C1:=ActiveCell.Address
Merci de m'aider!
Oct 26 2022 04:13 PM
Oct 26 2022 04:22 PM
This is not related to the subject of this discussion. Please start a new discussion and ask your question there.
Oct 27 2022 12:50 AM
Oct 27 2022 12:52 AM
Oct 27 2022 01:00 AM
Oct 27 2022 04:37 AM
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...)
Oct 27 2022 07:50 AM
Oct 27 2022 08:41 AM
> 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.
Oct 28 2022 02:11 AM
Oct 28 2022 04:08 AM
Oui, vous pouvez changer le nom des modules:
Qu'est-ce que vous tapez dans le MsgBox?
Oct 28 2022 06:34 AM
Oct 28 2022 06:56 AM
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?
Oct 28 2022 07:41 AM
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
Loop
End 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!
Oct 28 2022 08:42 AM
Dans votre example, il n'y a qu'un seul valeur 1 dans colonne A...
Oct 28 2022 08:49 AM
Oct 28 2022 11:39 AM
Oct 28 2022 12:22 PM
Oct 28 2022 01:01 PM
Oct 28 2022 01:16 PM
s et j devraient être nombres, pas texte. Changez
Dim s As String
et
Dim j As String
à
Dim s As Long
et
Dim j As Long