Nouvelle feuille

T

Titou

Guest
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
 

Pièces jointes

  • feuille_nom.zip
    12.3 KB · Affichages: 18
  • feuille_nom.zip
    12.3 KB · Affichages: 19
  • feuille_nom.zip
    12.3 KB · Affichages: 22
S

sylsyl

Guest
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.
 
T

Titou

Guest
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
 

Pièces jointes

  • feuille_nom.zip
    13.9 KB · Affichages: 23
  • feuille_nom.zip
    13.9 KB · Affichages: 17
  • feuille_nom.zip
    13.9 KB · Affichages: 21
S

sylsyl

Guest
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.
 
T

Titou

Guest
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
 
S

sylsyl

Guest
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.
 

Discussions similaires

Statistiques des forums

Discussions
313 916
Messages
2 103 532
Membres
108 706
dernier inscrit
venomftp