14 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
9 sept. 2008 à 20:21
9 sept. 2008 à 20:21
bonjour,
Pour mettre les nom de tes feuilles dans un colonne de la feuille 4 tu tape Alt+F11, tu ajoute un module
>> Insertion >> Module.
et dans la fenêtre qui s'ouvre (nommée "Module1") quan c'est le premier tu copie le code ci-dessous
dans la macro et taper F5.
Si j'ai bien compris ce que tu veux faire.
A+
Pour mettre les nom de tes feuilles dans un colonne de la feuille 4 tu tape Alt+F11, tu ajoute un module
>> Insertion >> Module.
et dans la fenêtre qui s'ouvre (nommée "Module1") quan c'est le premier tu copie le code ci-dessous
Sub MetNomFeuille() Dim i As Integer Dim Nom As String Dim L As Long Dim C As Integer L = 1 'la ligne ou tu veux démarrer l'affichage C = 1 'La colonne ou tu veux afficher. 1 pour la colonne A Nom = "Feuil3" 'Nom = "LeNomDeLaFeuilleOuTuVeuxCopier" For i = 1 To Worksheets.Count If Sheets(i).Name <> Nom Then Sheets(Nom).Cells(i + L - 1, C) = Sheets(i).Name End If Next i End SubEnsuite tu associe cette macro à un bouton, mais pour l'essais tu peu mettre le curseur
dans la macro et taper F5.
Si j'ai bien compris ce que tu veux faire.
A+
Bonjour : Je te conseille de faire la manip manuellement en enregistrant une macro.
Il te sera possible ensiute d'ajouter un bouton pour executer ta macro par ex
Il te sera possible ensiute d'ajouter un bouton pour executer ta macro par ex
Merci pour ta réponse rapide...j'ai essayé mais il y a t-il un code vba que je peux modifier après en fonction des feuilles et des colonnes?
Je pense que quand j'écrivais moins qu'un débutant..j'aurais du écrire nul...
Je pense que quand j'écrivais moins qu'un débutant..j'aurais du écrire nul...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sub Macro1()
'
' CopierNom Macro
'
'
ActiveCell.FormulaR1C1 = "=Feuil1!RC"
Range("A2").Select
ActiveCell.FormulaR1C1 = "=Feuil2!R[-1]C"
Range("A3").Select
ActiveCell.FormulaR1C1 = "=Feuil3!R[-2]C"
Range("A4").Select
End Sub
J'espère que ca pourra te servir
'
' CopierNom Macro
'
'
ActiveCell.FormulaR1C1 = "=Feuil1!RC"
Range("A2").Select
ActiveCell.FormulaR1C1 = "=Feuil2!R[-1]C"
Range("A3").Select
ActiveCell.FormulaR1C1 = "=Feuil3!R[-2]C"
Range("A4").Select
End Sub
J'espère que ca pourra te servir
En fait j'ai un concert bénéfice... la salle est divisée en balcon, sieges, corbeille.
Feuille1= balcon
Feuille2= sieges
Feuille3 =corbeille
Pour la feuille1 il y a 100 places avec un nom à indiquer pour chaque, c'est la meme chose pour les sieges (feuille2) et le la corbeille (feuille3). Je veux récupérer les noms inscrits pour chaque place et les recopier dans une feuille de compilation (feuille4).
Je veux faire une mise à jour à chaque fois que les noms sont inscrits au quotidien en les gardant dans les feuilles 1,2,3..je ne sais pas si je suis tres clair.
En tous cas je vous remercie beaucoup
Feuille1= balcon
Feuille2= sieges
Feuille3 =corbeille
Pour la feuille1 il y a 100 places avec un nom à indiquer pour chaque, c'est la meme chose pour les sieges (feuille2) et le la corbeille (feuille3). Je veux récupérer les noms inscrits pour chaque place et les recopier dans une feuille de compilation (feuille4).
Je veux faire une mise à jour à chaque fois que les noms sont inscrits au quotidien en les gardant dans les feuilles 1,2,3..je ne sais pas si je suis tres clair.
En tous cas je vous remercie beaucoup
si j'ai compris ta question.
Il faut passer tout simplement par la fonction si de excel. Je te prépare l'exemple.
Je considère dans mon ex que dans la feuille 1 tu as les place 1 a 50 disons; la feuille 2 51 à 100 et la trois 101 = 150.
Quelques noms seulement sont remplis a cote des numeros de places et sur la feuille 4 automatiquement s'affiche en colone toutes les reservation avec nom de la personne en colonne a et son numero de siege en B.
A tout de suite
Il faut passer tout simplement par la fonction si de excel. Je te prépare l'exemple.
Je considère dans mon ex que dans la feuille 1 tu as les place 1 a 50 disons; la feuille 2 51 à 100 et la trois 101 = 150.
Quelques noms seulement sont remplis a cote des numeros de places et sur la feuille 4 automatiquement s'affiche en colone toutes les reservation avec nom de la personne en colonne a et son numero de siege en B.
A tout de suite
Oui ca ressemble beaucoup à ton exemple...je croyais qu'on pouvait automatiser en passant par vba, mais si on peut le faire autrement, je suis preneur.
Un grand merci
Un grand merci
oui merci bcp...tu peux m'expliquer en qqs lignes ton cheminement? car en effet''je crois que tu m'as donné la solution à mon probleme
Et bien en fait disons que sur chaque feuille il y a cinquante places libres qui n'attendent plus qu'un nom.
Sur la quatrième feuille , cellule A1, on recopie les données de la cellule A1 de la feuille 1 en faisant "= puis clique sur la cellule A1 de la feuille 1".
Ensuite on tire la cellule (petite flecche en bas a droite de la cel A1 de la feuille4) juqua la cellule A50. Automatiquement, excel va recopier les données des cellules A1 feuille 1 en A1 feuile4 puis A2 feuille1 en A2 feuille4 etc... .
On refait l'opération pour la celule A51 feuille2 qu'on copie en A51 feuille 4 et on tire la cellule jusqu'en A100 feille4.
Pareil pour la dernière feuille.
Ensuite sur la feuille 4 on a en colonne A tous les noms déjà renseignés et en colonne B les sieges correspondant.
Le probleme c'est qu'il y a aussi les sièges vides qui s'affichent.
Pour cela il faut filtrer les données. Selectionner colone A feuille 4 et dans données rentrer dans le menu filtrer, puis filtre automatique.
Les cellule vides etant remplies par un zero, ou vides, il suffit de cliquer sur la fleche qui s'est affichée sur le premier nom et de selectionner le filtre personnalisé : si différent de 0 ou si non vide (= si different de "").
Automatiquement la feuille 4 n'affichera pas les lignes inutiles.
Pour actualiser le filtre, il serait possible de le faire manuellement, mais un bouton VBA est tellement plus pratique.
En faisant Alt F11 on peut voir le code d'actualisation automatique.
Sur la quatrième feuille , cellule A1, on recopie les données de la cellule A1 de la feuille 1 en faisant "= puis clique sur la cellule A1 de la feuille 1".
Ensuite on tire la cellule (petite flecche en bas a droite de la cel A1 de la feuille4) juqua la cellule A50. Automatiquement, excel va recopier les données des cellules A1 feuille 1 en A1 feuile4 puis A2 feuille1 en A2 feuille4 etc... .
On refait l'opération pour la celule A51 feuille2 qu'on copie en A51 feuille 4 et on tire la cellule jusqu'en A100 feille4.
Pareil pour la dernière feuille.
Ensuite sur la feuille 4 on a en colonne A tous les noms déjà renseignés et en colonne B les sieges correspondant.
Le probleme c'est qu'il y a aussi les sièges vides qui s'affichent.
Pour cela il faut filtrer les données. Selectionner colone A feuille 4 et dans données rentrer dans le menu filtrer, puis filtre automatique.
Les cellule vides etant remplies par un zero, ou vides, il suffit de cliquer sur la fleche qui s'est affichée sur le premier nom et de selectionner le filtre personnalisé : si différent de 0 ou si non vide (= si different de "").
Automatiquement la feuille 4 n'affichera pas les lignes inutiles.
Pour actualiser le filtre, il serait possible de le faire manuellement, mais un bouton VBA est tellement plus pratique.
En faisant Alt F11 on peut voir le code d'actualisation automatique.