Macros dans Excel... Je suis perdu !
Fermé
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
-
26 juil. 2008 à 22:12
Student@School Messages postés 11 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 31 août 2008 - 31 août 2008 à 16:00
Student@School Messages postés 11 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 31 août 2008 - 31 août 2008 à 16:00
A voir également:
- Macros dans Excel... Je suis perdu !
- Liste déroulante excel - Guide
- Formule excel - Guide
- Si et excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Acheter colis perdu poste - Guide
19 réponses
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
27 juil. 2008 à 14:00
27 juil. 2008 à 14:00
Bonjour,
avez-vous une petite idée au sujet de ma question posée hier ???
Je ne parviens pas à indiquer dans la macro qu'il faut aller chercher les données dans l'onglet 1 !... Si vous pouvez m'aider, même seulement m'aiguiller, je suis preneur.
D'avance merci à tous
avez-vous une petite idée au sujet de ma question posée hier ???
Je ne parviens pas à indiquer dans la macro qu'il faut aller chercher les données dans l'onglet 1 !... Si vous pouvez m'aider, même seulement m'aiguiller, je suis preneur.
D'avance merci à tous
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
337
27 juil. 2008 à 18:17
27 juil. 2008 à 18:17
bonjour
essaye ceci :
à plus
essaye ceci :
Sub Test() Sheets("Feuil1").Select For i = 1 To 5 Nom = Cells(i + 1, 1).Value Sheets(i + 1).Name = Nom Next i End Sub
à plus
thev
Messages postés
1852
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
23 avril 2024
681
27 juil. 2008 à 21:38
27 juil. 2008 à 21:38
Autre solution
Sub test()
'**la ligne est initialisée à 2
i = 2
'**pour chaque feuille se trouvant dans le classeur actif
For Each onglet In ActiveWorkbook.Worksheets
'**si ce n'est pas la feuille "personnels" alors
If Not onglet.Name = "Personnels" Then
'**le nom de la feuille est attribuée par la valeur de la celulle Ai de la feuille "Personnels"
onglet.Name = Worksheets("Personnels").Columns("A").Rows(i).Value
'**la ligne est incrémentée de 1
i = i + 1
End If
Next
End Sub
Sub test()
'**la ligne est initialisée à 2
i = 2
'**pour chaque feuille se trouvant dans le classeur actif
For Each onglet In ActiveWorkbook.Worksheets
'**si ce n'est pas la feuille "personnels" alors
If Not onglet.Name = "Personnels" Then
'**le nom de la feuille est attribuée par la valeur de la celulle Ai de la feuille "Personnels"
onglet.Name = Worksheets("Personnels").Columns("A").Rows(i).Value
'**la ligne est incrémentée de 1
i = i + 1
End If
Next
End Sub
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
28 juil. 2008 à 11:23
28 juil. 2008 à 11:23
Bonjour,
merci à Lepierre et à Thev pour leur participation... mais je dois me débrouiller comme un manche parce que je n'ai aucun résultat !
Alors, j'ai une ou 2 précision à demander :
~ Primo : le code doit bien être renseigné en cliquant droit sur l'onglet puis "Visualiser le code". Dites moi si je me trompe !...
~ Secundo : Le code doit être renseigné sur les onglets "Feuil1", "Feuil2",... Pas sur l'onglet "Personnels" ?????
Ben oui, je vous l'ai dit, je débute !
J'avais prévu un fichier exemple que j'aurais voulu vous passer mais je ne sais où et comment l'attacher. Je ne sais pas si c'est possible d'ailleurs ????
Merci encore pour votre aide
merci à Lepierre et à Thev pour leur participation... mais je dois me débrouiller comme un manche parce que je n'ai aucun résultat !
Alors, j'ai une ou 2 précision à demander :
~ Primo : le code doit bien être renseigné en cliquant droit sur l'onglet puis "Visualiser le code". Dites moi si je me trompe !...
~ Secundo : Le code doit être renseigné sur les onglets "Feuil1", "Feuil2",... Pas sur l'onglet "Personnels" ?????
Ben oui, je vous l'ai dit, je débute !
J'avais prévu un fichier exemple que j'aurais voulu vous passer mais je ne sais où et comment l'attacher. Je ne sais pas si c'est possible d'ailleurs ????
Merci encore pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
thev
Messages postés
1852
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
23 avril 2024
681
28 juil. 2008 à 14:10
28 juil. 2008 à 14:10
Mon code peut être mis sous n'importe quel onglet mais le mieux est de le mettre directement sous le classeur.
1- onglet "Personnels" --> visualiser le code
2- dans la fenêtre Visual Basic, sélectionner : Thisworkbook et double-cliquer pour obtenir la fenêtre du code du classeur
3- coller le code
Pour exécuter la macro : menu Outils --> macro --> macros --> exécuter.
1- onglet "Personnels" --> visualiser le code
2- dans la fenêtre Visual Basic, sélectionner : Thisworkbook et double-cliquer pour obtenir la fenêtre du code du classeur
3- coller le code
Pour exécuter la macro : menu Outils --> macro --> macros --> exécuter.
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
29 juil. 2008 à 15:44
29 juil. 2008 à 15:44
Bonjour,
Merci pour ta solution... Ca marche. En fait, j'affectais la macro à une feuille et non au classeur. Du coup, je n'avais aucun résultat !
L'erreur était de mon fait !
Par contre, je voudrais savoir s'il est possible d'automatiser l'exécution de la macro à chaque modification de cellule de la colonne A de l'onglet "Personnels".
En gros, je valide le changement de nom du personnel en A2 et le deuxième onglet change de nom aussitôt...
Est-ce jouable
Si j'ai bien compris, dans le fichier exemple de Lepierre, le bouton "Bouton" semble exécuter la macro par la commande décrite ici :
"Pour exécuter la macro : menu Outils --> macro --> macros --> exécuter"
Je souhaiterais qu'elle puisse s'exécuter à chaque modification de cellule de "A2" à "Ax"
Merci encore pour votre aide
@+
Merci pour ta solution... Ca marche. En fait, j'affectais la macro à une feuille et non au classeur. Du coup, je n'avais aucun résultat !
L'erreur était de mon fait !
Par contre, je voudrais savoir s'il est possible d'automatiser l'exécution de la macro à chaque modification de cellule de la colonne A de l'onglet "Personnels".
En gros, je valide le changement de nom du personnel en A2 et le deuxième onglet change de nom aussitôt...
Est-ce jouable
Si j'ai bien compris, dans le fichier exemple de Lepierre, le bouton "Bouton" semble exécuter la macro par la commande décrite ici :
"Pour exécuter la macro : menu Outils --> macro --> macros --> exécuter"
Je souhaiterais qu'elle puisse s'exécuter à chaque modification de cellule de "A2" à "Ax"
Merci encore pour votre aide
@+
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
337
28 juil. 2008 à 14:16
28 juil. 2008 à 14:16
bonjour
Vas voir sur : https://silkyroad.developpez.com/VBA/DebuterMacros/
pour apprendre à utiliser l'éditeur de macro
La macro est à placer non pas dans une feuille mais dans un module.
Regarde l'exemple ci joint : https://www.cjoint.com/?hComcVuQ7k
Pour nous faire passer ton fichier, utilise : https://www.cjoint.com/
à plus
Vas voir sur : https://silkyroad.developpez.com/VBA/DebuterMacros/
pour apprendre à utiliser l'éditeur de macro
La macro est à placer non pas dans une feuille mais dans un module.
Regarde l'exemple ci joint : https://www.cjoint.com/?hComcVuQ7k
Pour nous faire passer ton fichier, utilise : https://www.cjoint.com/
à plus
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
29 juil. 2008 à 11:30
29 juil. 2008 à 11:30
Bonjour,
Super' !!!! après essais, la macro de Thev fonctionne. L'erreur venait de moi. J'avais affecté la macro à la feuille et non au classeur !...
Merci beaucoup. Je ne vous poste pas mon exemple car vous avez compris ma demande.
Quant à l'exemple de Lepierre, j'imagine que le bouton permet le raccourci :
1- onglet "Personnels" --> visualiser le code
2- dans la fenêtre Visual Basic, sélectionner : Thisworkbook et double-cliquer pour obtenir la fenêtre du code du classeur
3- coller le code
... évoqué par Thev
Ce que je souhaiterais, c'est que la macro s'exécute quand je valide le changement en cellule A2, A3,... une modification automatique après la saisie dans la cellule.
Est-ce possible ?
Dernière question : La macro sera t-elle "protégée" contre la modification de petits plaisantins si je protège les feuilles Excel et le classeur
Merci de votre coup de main.
Super' !!!! après essais, la macro de Thev fonctionne. L'erreur venait de moi. J'avais affecté la macro à la feuille et non au classeur !...
Merci beaucoup. Je ne vous poste pas mon exemple car vous avez compris ma demande.
Quant à l'exemple de Lepierre, j'imagine que le bouton permet le raccourci :
1- onglet "Personnels" --> visualiser le code
2- dans la fenêtre Visual Basic, sélectionner : Thisworkbook et double-cliquer pour obtenir la fenêtre du code du classeur
3- coller le code
... évoqué par Thev
Ce que je souhaiterais, c'est que la macro s'exécute quand je valide le changement en cellule A2, A3,... une modification automatique après la saisie dans la cellule.
Est-ce possible ?
Dernière question : La macro sera t-elle "protégée" contre la modification de petits plaisantins si je protège les feuilles Excel et le classeur
Merci de votre coup de main.
LePierre
Messages postés
249
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 août 2012
337
29 juil. 2008 à 19:15
29 juil. 2008 à 19:15
bonjour
Voici le fichier modifié pour une mise à jour automatique : https://www.cjoint.com/?hDthTcswSQ
Pour protéger tes macros, il faut, à partir de l'éditeur de VBA dans le menu Outils --> Propriétés de VBAProject... --> onglet Protection : cocher Verrouiller le projet et indiquer un mot de passe et OK
à plus
Voici le fichier modifié pour une mise à jour automatique : https://www.cjoint.com/?hDthTcswSQ
Pour protéger tes macros, il faut, à partir de l'éditeur de VBA dans le menu Outils --> Propriétés de VBAProject... --> onglet Protection : cocher Verrouiller le projet et indiquer un mot de passe et OK
à plus
thev
Messages postés
1852
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
23 avril 2024
681
31 juil. 2008 à 11:08
31 juil. 2008 à 11:08
Pour moi la solution est simple, il suffit d'affecter ce code à la feuille "Personnels"
Private Sub Worksheet_Change(ByVal Target As Range)
'***** code exécuté lorsqu'un événement de mofication d'une cellule de la feuille se produit
'** (si la colonne modifiée est la colonne n°1 (A))
If Target.Column = 1 Then
'** on exécute la macro nommée "test" du classeur
Call ThisWorkbook.test
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'***** code exécuté lorsqu'un événement de mofication d'une cellule de la feuille se produit
'** (si la colonne modifiée est la colonne n°1 (A))
If Target.Column = 1 Then
'** on exécute la macro nommée "test" du classeur
Call ThisWorkbook.test
End If
End Sub
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
12 août 2008 à 16:04
12 août 2008 à 16:04
Bonjour,
tout d'abord, un grand merci car mon fichier a vraiment pris forme grace à votre aide. J'ai mis le code de Thev et ça fonctionne plutôt bien. J'ai néanmoins encore quelques soucis et je vous transmets un fichier pour que vous puissiez visualiser ma demande assez simplement.
Mon fichier "Exemple.xls" (joint au lien indiqué par Lepierre) contient 5 feuilles. Le code entré me permet de chager les noms des différents onglets au fur et à mesure de la frappe (c'est ce qaue je souhaitais !).
L'entête de chacun des onglets (nom, prénom et service) est rempli automatiquement en fonction des données inscrites dans l'onglet "Personnels". Le but est d'avoir un onglet par personnel.
J'ai également prévu un onglet "Récapitulatif" qui, lui aussi, va chercher des infos dans l'onglet "Personnels" mais il doit aussi récupérer le solde d'heures de chaque personnel.
Le problème est que la récupération de l'information (le solde) doit se faire dans des onglets qui changent de noms !... Et là, Excel ne s'y retrouve pas !
Du coup, j'ai 2 questions :
1) Est-il possible d'empêcher le changement automatique de nom de l'onglet "Récapitulatif" (changement défin iç par la macro que vous m'avez créée) ?
2) Est-il possible que le feuillet "Récapitulatif" récupère les infos "Soldes" de chaque onglet soit avec la formule que j'ai mise dans ma feuille de calcul, soit avec quelque chose de + élaboré (une autre macro peut-être) ???
Voici l'adresse de mon fichier :
https://www.cjoint.com/?imqczIXBg5
D'avance merci pour vos lumières
tout d'abord, un grand merci car mon fichier a vraiment pris forme grace à votre aide. J'ai mis le code de Thev et ça fonctionne plutôt bien. J'ai néanmoins encore quelques soucis et je vous transmets un fichier pour que vous puissiez visualiser ma demande assez simplement.
Mon fichier "Exemple.xls" (joint au lien indiqué par Lepierre) contient 5 feuilles. Le code entré me permet de chager les noms des différents onglets au fur et à mesure de la frappe (c'est ce qaue je souhaitais !).
L'entête de chacun des onglets (nom, prénom et service) est rempli automatiquement en fonction des données inscrites dans l'onglet "Personnels". Le but est d'avoir un onglet par personnel.
J'ai également prévu un onglet "Récapitulatif" qui, lui aussi, va chercher des infos dans l'onglet "Personnels" mais il doit aussi récupérer le solde d'heures de chaque personnel.
Le problème est que la récupération de l'information (le solde) doit se faire dans des onglets qui changent de noms !... Et là, Excel ne s'y retrouve pas !
Du coup, j'ai 2 questions :
1) Est-il possible d'empêcher le changement automatique de nom de l'onglet "Récapitulatif" (changement défin iç par la macro que vous m'avez créée) ?
2) Est-il possible que le feuillet "Récapitulatif" récupère les infos "Soldes" de chaque onglet soit avec la formule que j'ai mise dans ma feuille de calcul, soit avec quelque chose de + élaboré (une autre macro peut-être) ???
Voici l'adresse de mon fichier :
https://www.cjoint.com/?imqczIXBg5
D'avance merci pour vos lumières
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
12 août 2008 à 18:01
12 août 2008 à 18:01
Bonjour à vous tous,
Si je puis me permettre d'entrer mon grain de sel ?...
Cette petite macro devrai répondre aux questions de notre amis...
Fonctionnement,
Si entrer nouveau nom dans une cellule vide de la colonne A crée une nouvelle feuille au nom définit dans la cellule.
Si modifie une cellule qui comporte déjà un nom, change l'ancien nom par le nouveau nom
Tu dit...
A+
EDIT: Attention, si nouveau classeur, pas de problème, si mettre la macro sur classeur existant il faut que la liste des noms corresponde déjà à la liste des feuilles.
Pour réinitialiser (éventuellement), supprimer toues les feuilles avec un nom et supprimer la liste et recommencer.
Si je puis me permettre d'entrer mon grain de sel ?...
Cette petite macro devrai répondre aux questions de notre amis...
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static AncRg As Range, AncCell As String Dim i As Integer Dim FL1 As Worksheet On Error GoTo Sortie If AncRg.Column = 1 And AncRg.Row > 3 Then 'colonne A > ligne 3 If AncCell = "" And AncRg.Value2 <> "" Then 'créer Nv feuille Set FL1 = ActiveSheet 'Pour y revenir après 'Crée une nouvelle feuille et la place en dernier Worksheets.Add , Sheets(Worksheets.Count) Sheets(Worksheets.Count).Name = AncRg.Value2 'Réactive la feuille où il y a les noms FL1.Activate FL1 = Nothing 'Supprime l'instance de FL1 pour éviter le dépassement pile. ElseIf AncCell <> "" And (AncCell <> AncRg.Value2) Then 'le nom en A1 à été modifié 'recherche la feuille qui portait l'ancien nom For i = 1 To Worksheets.Count If Sheets(i).Name = AncCell Then 'Modofie l'ancien nom de la feuille par le nouveau Sheets(i).Name = AncRg.Value2 Exit For End If Next i End If End If Sortie: Set AncRg = Target AncCell = Target.Value2 End Sub
Fonctionnement,
Si entrer nouveau nom dans une cellule vide de la colonne A crée une nouvelle feuille au nom définit dans la cellule.
Si modifie une cellule qui comporte déjà un nom, change l'ancien nom par le nouveau nom
Tu dit...
A+
EDIT: Attention, si nouveau classeur, pas de problème, si mettre la macro sur classeur existant il faut que la liste des noms corresponde déjà à la liste des feuilles.
Pour réinitialiser (éventuellement), supprimer toues les feuilles avec un nom et supprimer la liste et recommencer.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
12 août 2008 à 18:18
12 août 2008 à 18:18
En relisant ma macro, simplification du 2ém test
remplacer
par
remplacer
'recherche la feuille qui portait l'ancien nom For i = 1 To Worksheets.Count If Sheets(i).Name = AncCell Then 'Modofie l'ancien nom de la feuille par le nouveau Sheets(i).Name = AncRg.Value2 Exit For End If Next i
par
Sheets(AncCell ).Name = AncRg.Value2
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
13 août 2008 à 11:21
13 août 2008 à 11:21
Merci Lermite222.
Peux-tu me préciser si je dois affecter cette macro sur une feuille du classeur en particulier ou sur "ThisWorkBook" ?
Je n'ai pas testé pour l'instant.
D'avance merci
Peux-tu me préciser si je dois affecter cette macro sur une feuille du classeur en particulier ou sur "ThisWorkBook" ?
Je n'ai pas testé pour l'instant.
D'avance merci
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
13 août 2008 à 13:58
13 août 2008 à 13:58
Tu doit mettre la macro dans le module de la feuille où tu entre les noms à l'occurence la feuille "Personnels"
A+
A+
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
13 août 2008 à 15:35
13 août 2008 à 15:35
Salut,
Ca fonctionne en partie... seulement, je suis obligé d'exécuter la macro manuellement (or, je veux que le nom d'onglet change "à la frappe") et j'ai aussi un message d'erreur bizarre !
Par contre, la référence à mes onglets qui changent de noms est bien respectée dans mon onglet récapitulatif...
Une idée ?
Merci et @+
Ca fonctionne en partie... seulement, je suis obligé d'exécuter la macro manuellement (or, je veux que le nom d'onglet change "à la frappe") et j'ai aussi un message d'erreur bizarre !
Par contre, la référence à mes onglets qui changent de noms est bien respectée dans mon onglet récapitulatif...
Une idée ?
Merci et @+
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
13 août 2008 à 17:25
13 août 2008 à 17:25
C'est que tu a pas mis la macro au bon endroit, si elle y était tu ne pourais pas l'activer manuellement ça donnerait une erreur.
Prend le classeur sur cijoint et test..
https://www.cjoint.com/?inrxIrMsh7
A+
Prend le classeur sur cijoint et test..
https://www.cjoint.com/?inrxIrMsh7
A+
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
13 août 2008 à 17:30
13 août 2008 à 17:30
Dim FP as string
FP= "C:\Répertoir\SousRépertoir\NomFichier.xls" 'Le chemin complet + nom + extention
Workbooks.Open (FP)
Tient pas compte de cette réponse, sais pas comment elle est arrivée içi, et n'a rien à voir avec ton topic.
A+
FP= "C:\Répertoir\SousRépertoir\NomFichier.xls" 'Le chemin complet + nom + extention
Workbooks.Open (FP)
Tient pas compte de cette réponse, sais pas comment elle est arrivée içi, et n'a rien à voir avec ton topic.
A+
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
16 août 2008 à 18:03
16 août 2008 à 18:03
Salut,
Bon, après quelques tests, ton fichier semble fonctionner... encore que j'ai des messages bizarres parfois... et puis surtout, je comprends pas tout ce qui se passe dans mon classeur ! c'est un peu trop sophistiqué et complexe pour le débutant que je suis...
Les lignes de codes que m'avait indiqué Thev (cf messages précédents !) fonctionnaient bien, sans erreur et semblaient un peu moins complexes...
Désolé mais j'ai pas eu beaucoup de temps pour étudier le code dans les macros Excel mais j'aurais souhaité que l'on puisse adapter ce code de façon à ce que mon onglet "Récapitulatif" ne soit pas affecté par la macro qui renomme les onglets n° 2, 3, 4, 5,...
Je souhaitais également que la référence de cellule dans la colonne D de l'onglet "Récapitulatif" soit automatiquement changée lors du renommage automatique de mes onglets.
J'avais mis le fichier suivant pour illustrer mon idée.
https://www.cjoint.com/?iqr7GfovmQ
Pensez vous que le code de Thev soit adaptable "simplement" pour obtenir ce que je souhaite ?
Merci à tous pour vos nombreuses participations
Bon, après quelques tests, ton fichier semble fonctionner... encore que j'ai des messages bizarres parfois... et puis surtout, je comprends pas tout ce qui se passe dans mon classeur ! c'est un peu trop sophistiqué et complexe pour le débutant que je suis...
Les lignes de codes que m'avait indiqué Thev (cf messages précédents !) fonctionnaient bien, sans erreur et semblaient un peu moins complexes...
Désolé mais j'ai pas eu beaucoup de temps pour étudier le code dans les macros Excel mais j'aurais souhaité que l'on puisse adapter ce code de façon à ce que mon onglet "Récapitulatif" ne soit pas affecté par la macro qui renomme les onglets n° 2, 3, 4, 5,...
Je souhaitais également que la référence de cellule dans la colonne D de l'onglet "Récapitulatif" soit automatiquement changée lors du renommage automatique de mes onglets.
J'avais mis le fichier suivant pour illustrer mon idée.
https://www.cjoint.com/?iqr7GfovmQ
Pensez vous que le code de Thev soit adaptable "simplement" pour obtenir ce que je souhaite ?
Merci à tous pour vos nombreuses participations
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
17 août 2008 à 00:59
17 août 2008 à 00:59
ton fichier semble fonctionner
Semble ? ou fonctionne? et quel sont les messages bizarres parfois ?
Le petit problème avec target c'est qu'il est validé QUAND TU ENTRE DANS UNE CELLULE et non quand tu en sort, d'où le code qui te semble compliqué, en fait il ne l'est pas; il mémorise chaques cellule à l'entrée mais n'agit qu'a la sortie de la cellule, d'ou la mise à jour dés que tu fait une modif.
Sans celà, pas possible de mise a jour immédiate. Il faut revenir sur la cellule une deuxième fois.
j'aurais souhaité que l'on puisse adapter ce code de façon à ce que mon onglet "Récapitulatif" ne soit pas affecté par la macro qui renomme les onglets n° 2, 3, 4, 5,...
Tu peu ajouter ta feuille "Récapitulatif" au classeur que je t'ai passer il ne serra jamais affecté par les modif de la macro.
Et pour modifié la colonne D du classeur "Récapitulatif"
Sheets("Récapitulatif").Cells(LaLigne,4) = LaValeurQueTuVeuxDonner
et puis surtout, je comprends pas tout ce qui se passe dans mon classeur
Qui veux la fin, y met les moyens ! :D
A+
Semble ? ou fonctionne? et quel sont les messages bizarres parfois ?
Le petit problème avec target c'est qu'il est validé QUAND TU ENTRE DANS UNE CELLULE et non quand tu en sort, d'où le code qui te semble compliqué, en fait il ne l'est pas; il mémorise chaques cellule à l'entrée mais n'agit qu'a la sortie de la cellule, d'ou la mise à jour dés que tu fait une modif.
Sans celà, pas possible de mise a jour immédiate. Il faut revenir sur la cellule une deuxième fois.
j'aurais souhaité que l'on puisse adapter ce code de façon à ce que mon onglet "Récapitulatif" ne soit pas affecté par la macro qui renomme les onglets n° 2, 3, 4, 5,...
Tu peu ajouter ta feuille "Récapitulatif" au classeur que je t'ai passer il ne serra jamais affecté par les modif de la macro.
Et pour modifié la colonne D du classeur "Récapitulatif"
Sheets("Récapitulatif").Cells(LaLigne,4) = LaValeurQueTuVeuxDonner
et puis surtout, je comprends pas tout ce qui se passe dans mon classeur
Qui veux la fin, y met les moyens ! :D
A+
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
17 août 2008 à 12:39
17 août 2008 à 12:39
Du calme ! Le sens de mon précédent message a été mal interprêté...
Je pensais simplement que, si il est posible de faire des choses aussi évoluées (à savoir la création automatique d'un onglet) avec les macros dans Excel, il devait être encore plus simple de modifier le code fourni par Thev pour empêcher la macro de changer le nom de mon dernier onglet.
De +, dans le classeur que tu m'as passé, la modif de la cellule A5 ne génère pas le nouvel onglet !
Je ne peux d'ailleurs pas utiliser ton classeur car j'ai déjà des données entrées dans le mien (des quadrillages, des données,...) et je ne veux pas tout refaire !
Par contre, peut-être puis-je recopier ton code dans mon classeur ?
Je regarde ce que ça donne dans mon fichier et vous tiens au courant
Merci et @+
Je pensais simplement que, si il est posible de faire des choses aussi évoluées (à savoir la création automatique d'un onglet) avec les macros dans Excel, il devait être encore plus simple de modifier le code fourni par Thev pour empêcher la macro de changer le nom de mon dernier onglet.
De +, dans le classeur que tu m'as passé, la modif de la cellule A5 ne génère pas le nouvel onglet !
Je ne peux d'ailleurs pas utiliser ton classeur car j'ai déjà des données entrées dans le mien (des quadrillages, des données,...) et je ne veux pas tout refaire !
Par contre, peut-être puis-je recopier ton code dans mon classeur ?
Je regarde ce que ça donne dans mon fichier et vous tiens au courant
Merci et @+
Student@School
Messages postés
11
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
31 août 2008
31 août 2008 à 16:00
31 août 2008 à 16:00
Bonjour,
Je suis de retour sur ce forum pour vous dire que j'ai réussi à faire fonctionner ma feuille de calcul... et ce, grace à vous !
En fait, j'ai adapté à mon fichier le code que m'avait soufflé Thev et les onglets se renomment bien comme il faut.
J'ai cependant un petit souci qui persiste. Lorsque je change un nom dans mon onglet "personnels" et que je valide, le nom de l'onglet est bien modifié mais le message d'erreur suivant apparaît :
Microsoft Visual Basic
Erreur d'exécution 1004 :
Erreur définie par l'application ou par l'objet
Fin Débogage
Voyez vous à quoi peut être liée cette erreur et savez vous comment la supprimer ?
Encore mille mercis pour vos précieux coups de mains
Je suis de retour sur ce forum pour vous dire que j'ai réussi à faire fonctionner ma feuille de calcul... et ce, grace à vous !
En fait, j'ai adapté à mon fichier le code que m'avait soufflé Thev et les onglets se renomment bien comme il faut.
J'ai cependant un petit souci qui persiste. Lorsque je change un nom dans mon onglet "personnels" et que je valide, le nom de l'onglet est bien modifié mais le message d'erreur suivant apparaît :
Microsoft Visual Basic
Erreur d'exécution 1004 :
Erreur définie par l'application ou par l'objet
Fin Débogage
Voyez vous à quoi peut être liée cette erreur et savez vous comment la supprimer ?
Encore mille mercis pour vos précieux coups de mains