![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonjour,
je souhaite pouvoir créer une nouvelle feuille, à chaque fois qu'il y a quelque chose d'inscrit dans la feuil1 colonne A, et de renommer la feuille avec le contenu de la cellule A. Mais tout ceci est lié au fait qu'il y a quelque chose dans la cellule A j, j étant la ligne concernée. de plus je souhaite aussi pouvoir coller dans la foullée des informations contenu dans la feuil1 colonne b et c et les coller dans la feuille crée. comment peut on dire qu'une boucle s'arrete lorsqu'une cellule est vide? merci d'avance Titou |
| ANNONCES | |||
|
|
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
Re salut Titou,
Je prend un certain plaisir a repondre a tes questions car elles sont assez faciles, enfin c’est pas ce que je disais le mois dernier… Il semblerait que tu veuilles developper un peu pres le meme programme que celui que j’ai fait le mois dernier.. Donc voici un bout de code qui peut t’aider. Private Sub Trial() Range("A1").Select For i = 0 To 10 If ActiveCell.Offset(i, 0).Value <> "" Then Sheets.Add ActiveSheet.Name = ActiveCell.Offset(i, 0).Value Else i = 11 ‘permet de sortir de la “boucle” End If Next i End Sub Cette procedure est assez simple en soi. Le Big probleme est la gestion des erreurs, j’en ai eu quelques cheveux blancs avant de comprendre ce qui suit: 2 feuilles ne peuvent pas avoir le meme nom !! Ca parait con mais ca t’obliges a verifier le nom de toutes tes pages avant d’en creer une autre (entre “Sheets.Add” et “ActiveSheet.Name=…”) ou de toutes les effacer (c’est ce que j’ai fait). Pour le copier/coller 2 solutions: -Enregistrer une macro avec l’assistant en faisant ce que tu voudrais que ta macro fasse et t’en inspirer, c’est le plus simple. -ou stocker la valeur de la cellule Bn dans une variable puis faire prendre la valeur de cette variable a la cellule desiree (c’est ce que j’ai fait). Comme d’hab. A++, Sylsyl. |
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
Salut sylsyl,
j'ai regardé ton code, cependant ce n'est pas tout a fait ce que je souhaite faire. je souhaite pouvoir en cliquant sur un bouton, que la boucle scrute la feuil1 dans la colonne A et que lorsque cette colonne comporte quelque chose, cela crée une feuille qui porte le nom de la cellule A ligne "i", puis que sur cette ligne "i", il copie les valeurs des cellules B C D ... Z de la meme ligne "i", pour me les copier dans la feuille créer... j'espere etre à peu pret clair je te remercie d'avance pour ton aide Titou |
|
|
#6 (permalink) |
|
Guest
Messages: n/a
|
Salut Titou,
Je ne peux toujours pas telecharger les fichiers et excuses-moi, j’aurais du t’expliquer le code: Private Sub Trial() Dim tableau_tempo(Nombre_de_Colonnes) as variant Range("A1").Select For i = 0 To 10 If ActiveCell.Offset(i, 0).Value <> "" Then ‘parcours la colonne “A” a la recherche d’une cellule non-vide For k = 0 To Nombre_de_colonnes ‘copie les valeurs des cellules Ai, Bi, Ci, … Zi dans tableau_tempo Tableau_tempo ( k ) = ActiveCell.Offset( i, k).Value Next k Sheets.Add ‘Si trouvee -> creer une nouvelle feuille ActiveSheet.Name = ActiveCell.Offset(i, 0).Value ‘donne pour nom a cette nouvelle page la VALEUR contenu dans la cellule Ai (je ne sais pas si c’est c’est ce que tu veux dire par NOM de Ai ) -------------------------- Else i = 11 ‘permet de sortir de la “boucle” a la premiere cellule vide End If Next i End Sub Il ne te reste plus qu’a coller les valeur de tableau_tempo dans les cellules desirees de la nouvelle feuille avec une procedure ecrite a la place de -----------------. A++, Sylsyl. |
|
|
#7 (permalink) |
|
Guest
Messages: n/a
|
re sylsyl,
j'ai essayé ton code.... j'ai un bug au niveau de : Dim tableau_tempo(Nombre_de_Colonnes) as variant --> erreur de compliation, constante requise. je te remercie pour ton aide. je v devoir te quitter, car je quitte le bureau, je reviens demain matin à partir de 6h45 ! merci @ demain j'espere Titou |
|
|
#8 (permalink) |
|
Guest
Messages: n/a
|
Salut,
Nombre_de_colonnes n'est pas une variable, tu dois mettre un nombre a la place qui est le nombre de colonnes. Je t'ai mis ca car je ne sais pas combien tu veux en copier/coller. Ex: colonnes "B" a "F" = 5 colonnes. Remplace Nombre_de_colonnes par 5. A++, Sylsyl. |
| Liens sociaux |
| Outils de la discussion | |
|
|