Etendre une ligne...

Etendre une ligne... - VB/VBA/VBS - Programmation

Marsh Posté le 11-05-2006 à 11:51:17    

Bonjour,
 
Je souhaiterais savoir le code pour etendre une ligne via VB pour un tableau excel.
La petite difficultée c'est que je souhaite étendre un nombre de colonne qui varie  
 
Par exemple si je tape :
 
Set SourceRange = Worksheets("Emballage" ).Range("F4" ).Offset(0, cptCA)
Set fillRange = Worksheets("Emballage" ).Range("F4" ).Offset(Feuil22.Cells(1, 10) - 1)
SourceRange.AutoFill Destination:=fillRange
 
Ca ne fonctionne pas car j'ai une variable cptCA et une variable (Feuil22.Cells(1, 10) - 1)
 
Quelqu 'un pourrait il m'aider?
 
A bientot
 
Hug75 :bounce:

Reply

Marsh Posté le 11-05-2006 à 11:51:17   

Reply

Marsh Posté le 11-05-2006 à 12:23:48    

Salut Hug,
Je pense que ce qui ne marche pas dans les 3 lignes de code vient de ton fillRange : il manque un paramètre à ton offset. (Que ce soit des variables ne doit poser aucun problème)
Set fillRange = Worksheets("Emballage" ).Range("F4" ).Offset(Feuil22.Cells(1, 10) - 1, cptCA)(vérifies ce que tu dois obtenir...)
essaye avec ça si ca ne marche pas, il faudra que tu soit un peu plus précis... (exemple : il me manque des colonnes...)  
@+

Reply

Marsh Posté le 11-05-2006 à 13:56:13    

Ok, j'ai fait cette petite modif mais ça ne tourne pas donc je vais tacher d'être plus précis:
Ma feuille Emballage comporte "cptCA+5" colonnes ( d'ou la variabilité du nombre de colonne!)  
Dans cette feuille il faut que je récupère la ligne "4" de la colonne F à la colonne "F+cptCA" pour l'étendre jusqu'a la ligne "Feuil22.Cells(1, 10) - 1" (ecore une variable!)
J'espere que tu as toutes les infos nécessaires.
 
Merci pour ton aide.
 
Hug75

Reply

Marsh Posté le 11-05-2006 à 17:42:46    

Salut Hug,
Il faut vraiement être plus précis... Ca ne tourne pas ne veux strictement rien dire...
As-tu un message d'erreur ? Que se passe-t-il ?
Par ailleurs, il va être utile de voir comment tu as déclarer tes variables et comment tu défini CptCA. Et ton Feuil22 ? si c'est la nom de la feuille il faut mettre Worksheets("Feuil22" ).Cells(1, 10)
Ensuite le .value même s'il n'est pas forcement utile il vaut mieux le préciser.
@+

Reply

Marsh Posté le 11-05-2006 à 19:47:50    

Le message d'erreur est le suivant (avantproposition du debogage):
"la méthode autofll de la classe range à échousé"
ma variable CptCA est un integer
J ai mis workseets("Emballage" ).
A+

Reply

Marsh Posté le 12-05-2006 à 09:01:44    

Si quelqu'un a une idée elle sera toujours la bienvenue...

Reply

Marsh Posté le 12-05-2006 à 10:55:24    

Bon maintenant on sait ce qui ne marche pas :)
 
Maintenant en pas à pas il faut que tu vérifies ton fillrange, place un fillrange.select et mets un point d'arret après. Excel prend-il la plage convenue. Pareil pour le sourcerange.
Si la selection est bonne on verra c'est que le problème sera un paramètre ou un défaut de syntaxe sur l'autofill.
@+

Reply

Marsh Posté le 12-05-2006 à 11:11:42    

Salut hug,
Regardes voir ici il y a un petit tutoriel sur autofill. Ca t'aidera surement :)
@+

Reply

Marsh Posté le 12-05-2006 à 16:05:54    

En fait le bon code etait le suivant:
 
Worksheets("Emballage" ).Select
Range(Cells(4, 6), Cells(4, cptCA)).Select
Selection.AutoFill Destination:=Range(Cells(4, 6), Cells(Feuil22.Cells(1, 10) - 1 + 5, cptE)), Type:=xlFillDefault
 
Merci à tous

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed