bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 22 févr. 2008 à 15:56
t'es gentil toi ! tu donnes un lien qui renvois sur un poste qui contient un autre lien qui te demande un login et un password
Et avec ca tu voudrait que l'on t'aide ? Tsssssss...
Pose ton probleme ici !
tomy7
Messages postés62Date d'inscriptionmardi 22 janvier 2008StatutMembreDernière intervention25 avril 2008 22 févr. 2008 à 16:04
j aimerai bien mais on peu pas envoyer de piece jointe ici ... en tt cas j ai avancé
<!-- END TEMPLATE: bbcode_code -->en fete j aimerai cree un lien entre un tabeau qui est sur la feuille et des feuilles qui ne sont pas creer mais qui peuvet etre creer avec un bouton ... j ai un fichier excel qui explique clairement le prob mais je c pas comment l envoyer ici
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 22 févr. 2008 à 21:02
Tu te compliques la vie !
Private Sub CommandButton25_Click()
dim NbFeuil as long, NomNewFeuil as string
NbFeuil = ActiveWorkbook.Sheets(Sheets.Count)
Worksheets("Add").Copy After:= NbFeuil
NomNewFeuil = "Add" & NbFeuil -3
ActiveSheet.Name = NomNewFeuil
ActiveSheet.visible = True 'pourquoi cette ligne ? Une nouvelle feuille est toujours visible par defaut !?!
Worksheets("Main").Select
k = NbFeuil -3 'sera incrementé a chaque nouvelle creation de feuille mais ne sert a rien pour le moment !
'A partir d'ici je ne comprend pas ce que tu veux faire ?!?!
i = 279 'c'est quoi cette valeur de 279 ?
Worksheets("Main").Range("G" & i & ").Select
Selection.Insert Shift:=xlDown 'pourquoi cette ligne ?
Worksheets("Main").Range("G" & i).Value = Worksheets(NomNewFeuil ).Range("C5").Value 'comment la feuille main peut elle prendre une valeur d'une feuille nouvellement créée alors que l'on a encore rien ecrit dans cette derniere ???
End Sub
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 23 févr. 2008 à 13:21
Pour conserver la veleur de la ligne (ici 279 ???) tu peux déclarer la variable dans un module en Public.
Public LigneCourante as Integer
Dans WorkBook_Open(), tu lui affectes une valeur
LigneCourante = 279
Dans le code de ton bouton, tu l'incrémentes
LigneCourante = LigneCourante + 1
Pour insérer une ligne
Rows(LigneCourante).Insert xlShiftDown
ou tu insères des espaces dans un Range précis comme tu l'utilises déjà
Range("G" & LigneCourante).Insert xlShiftDown
Mais comme le dit BigFish (salut) pourquoi 279 ?
Est-ce la première ligne vide de ta feuille ? si oui, n'utilise pas de valeur fixe comme ça et détermine plutôt quelle est cette dernière ligne par code. Sinon, il faudrait que tu expliques un peu mieux ton problème.
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
tomy7
Messages postés62Date d'inscriptionmardi 22 janvier 2008StatutMembreDernière intervention25 avril 2008 25 févr. 2008 à 10:00
j ai un grand tableau et en dessous un petit
et 279 c la derniere ligne de mon petit tableau.
en faite le but est j appuie sur un bouton et je crée une copy d une feuille... et en meme temps j ajoute des ligne a mon petit tableau avec des liens qui sont relié a la nouvelle feuille .
ex ma cellule G279 doit etre egale a =Add1!$C$5 Add 1 etant ma nouvel feuille , tu comprends...
mtn j ai trouver une partie du code qui m aide a faire sa le seul ennuie c que j arrive pas a inserer une ligne...
Private Sub CommandButton25_Click()
Dim NewSh As Worksheet
Worksheets("Add").Copy After:=ActiveWorkbook.Sheets(Sheets.Count)
Set NewSh = ActiveWorkbook.Worksheets(Sheets.Count)
NewSh.Name = "Add" & Sheets.Count - 3
NewSh.visible = True
Worksheets("Main").Select
Range("G" & Rows.Count).Insert Shift:=xlDown sa fonctionne pas , ya pas de bug y plante pas , mais aucun ajout de ligne
Worksheets("Main").Cells(Rows.Count, "G").End(xlUp).Offset(1, 0).FormulaLocal = "=" & NewSh.Name & "!" & NewSh.Cells(5, "C").Address
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 25 févr. 2008 à 10:26
Range("G" & Rows.Count).Insert Shift:=xlDown
Rows.Count = 65536 (versions 2003 et antérieures)
Tu essaies donc d'insérer une ligne à la toute fin de la feuille, ce qui est impossible, en principe...
Tu dois donc déterminer plus précisément où tu veux insérer cette ligne.
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
tomy7
Messages postés62Date d'inscriptionmardi 22 janvier 2008StatutMembreDernière intervention25 avril 2008 25 févr. 2008 à 10:28
mais pourtant quand je fais sa ...Worksheets("Main").Cells(Rows.Count, "G").End(xlUp).Offset(1, 0).FormulaLocal = "=" & NewSh.Name & "!" & NewSh.Cells(5, "C").Address
ma cellule G279 devient bien egale a une autre cellule de la nouvelle feuille...et j utilise rows.count
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 25 févr. 2008 à 10:35
Tu dois faire la différence entre
Range("G" & Rows.Count)
et Cells(Rows.Count, "G").End(xlUp).Row
Le premier te donne le nombre de lignes totales de la feuille.
Le deuxième est plutôt un "mouvement"... Dans la colonne G, se positionne en bas (Rows.Count) et remonte (xlUp) jusqu'à la première ligne qui contient du texte.
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI