tof008
Messages postés695Date d'inscriptionjeudi 5 mai 2005StatutMembreDernière intervention 5 janvier 2010
-
5 juil. 2006 à 16:19
delattre13
Messages postés20Date d'inscriptionlundi 2 février 2009StatutMembreDernière intervention 3 mai 2013
-
30 oct. 2010 à 12:16
Hello! Voila mon problème :
Je dois ajouter automatiquement sur une ligne un nouveau mois, puis remplir la colonne de données...
Je fais donc une boucle qui me parcourt la ligne jusqu'au dernier enregistrement, auquel je rajoute 1 pour me placer au bon endroit. C'est la que les problemes arrivent, puisque lorsque je veux "étirer" la formule sur une colonne supplementaire, je recois un message d'erreur : 'la méthode autofill de la classe Range à echouée'.
Voila mon code :
'Boucle qui parcourt la ligne jusqu'au premier enregistrement vide
While Cells(2, i) <> ""
i = i + 1
Wend
'"etirage" de la formule a la nouvelle cellule
Range("D2").Select
Selection.AutoFill Destination:=Range(Cells(2, 4), Cells(i, 2)), Type:=xlFillMonths
Range(Cells(4, 2), Cells(2, i)).Select
(Si la réponse vous convient, appuyez sur réponse acceptée...)
Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire
<>
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 5 juil. 2006 à 16:47
salut
Selection.AutoFill Destination:=Range("A8:A" & i)
essaie en faisant par un range comme ca au lieu d'utiliser les cells.
Je crois que quand je l'avais fais avec des cells j'avais la meme erreur.
tof008
Messages postés695Date d'inscriptionjeudi 5 mai 2005StatutMembreDernière intervention 5 janvier 201033 6 juil. 2006 à 07:50
Le gros problême en fait, c'est ce 'i'. En utilisant la methode de Mortalino, je recois le même message d'erreur qu'indiqué plus haut! Je vous en prie aidez moi, ca commence à me faire c....!!!! mdr
Il faudrait juste que je puisse trouver le moyen de remplacer ce 'i' par la lettre correspondante!!!!
Merci à vous pour votre aide!
(Si la réponse vous convient, appuyez sur réponse acceptée...)
Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire
< body>
Vous n’avez pas trouvé la réponse que vous recherchez ?
delattre13
Messages postés20Date d'inscriptionlundi 2 février 2009StatutMembreDernière intervention 3 mai 2013 30 oct. 2010 à 12:16
Bonjour,
NumCol = Cells(2, i).Column
lettre = IIf(NumCol > 26, Chr(64 + NumCol \ 26) & Chr(64 + NumCol Mod 26), Chr(64 + NumCol))
Sous VBA Excel
supposons que i=20
c'est impécable lettre = "T"
Mais si i=200 (Sur Excel on peut aller jusqu'à IV soit 256 colonnes)
la formule génére alors une : Erreur d'exécution '5'
Argument ou appel de procédure incorrect.
Si on décompose la formule on se rend compte que l'erreur vient de la fin de la formule :
Chr(64 + NumCol) qui devient Chr(264) et hop on sort de la table ASCII.
C'est balot hein !!
par contre j'ai trouvé une solution qui marche à tous les coups sur le site
frederic.sigonneau.free.fr/Cellules.htm
qui donne ceci
Function Nombre_en_Lettre(Nombre As Long) As String
'// Dana DeLouis
If Nombre > 0 And Nombre < 257 Then
Nombre_en_Lettre = Split(Cells(Nombre).Address, "$")(1)
Else
Nombre_en_Lettre = Error(9) '> Valeur hors contexte
End If
End Function
Sub test()
MsgBox Nombre_en_Lettre(ActiveCell.Column)
MsgBox Nombre_en_Lettre(256)
End Sub
et là ça marche jusqu'à 256
Maintenant que j'ai la lettre il va falloir que le format conditionné marche avec ma sélection.
En tout cas merci à tous de partager vos infos qui sont bien utiles.