Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

erreur de compil????

dakama

XLDnaute Nouveau
bonsoir tous!!!

ma macro se réfère à la listbox d un userform : après sélection dans cette listbox elle doit agir en fonction de la colonne sélectionnée... c est là que cela se complique puisque je n arrive pas à compiler les deux arguments... je mets ci dessous ma macro... si besoin je peux également préparer une pièce jointe mais connaissant les pros qui visitent le forum peut être cela ne sera t il pas utile????

merci d avance

--------------------------------------------------------------------------
Sub EFFACE_SEMAINE()
Dim col, j As Integer
Dim var As Variant
var = 0
If UserForm7.ListBox1.ListIndex = -1 Then
MsgBox 'Vous n'avez pas sélectionné de camion', vbCritical, 'LM'
Exit Sub
Else
LISTBOXVAL = UserForm7.ListBox1.Value
If LISTBOXVAL = cells(11, 2).Value Then
col = 2
GoTo line1
End If
If LISTBOXVAL = cells(11, 4).Value Then
col = 4
GoTo line2
End If
If LISTBOXVAL = cells(11, 6).Value Then
col = 6
GoTo line1
End If
If LISTBOXVAL = cells(11, 10).Value Then
col = 10
GoTo line1
End If
If LISTBOXVAL = cells(11, 12).Value Then
col = 12
GoTo line2
End If
If LISTBOXVAL = cells(11, 8).Value Then
col = 8
GoTo line2
Else
Exit Sub
End If
End If
line1:
For j = 1 To 7
Range('D317339').Select
Selection.Copy
cells(13 + var, col).Select
ActiveSheet.Paste
var = var + 30
Next j je pense qu il manque un 'end quelquechose' à ce niveau là
line2:
For j = 1 To 7
Range('F317:F339').Select
Selection.Copy
cells(13 + var, col).Select
ActiveSheet.Paste
var = var + 30
Next j
End If
Range('B9:c9').Select
UserForm7.Hide
End Sub

Message édité par: dakama, à: 08/10/2005 23:37
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Dakama, bonsoir le forum,

J'ai repéré plusieurs anomalies dans tes codes je te les livre en espérant que cela t'apporte la solution :

1. Dim col, j As Integer

Dim col As Integer, J As Integer, car sinon col est déclarée comme Variant.

2. Dim var As Variant

Dim var As Byte, puisque sa valeur maxi est de 210.

3. À la fin de la balise line1, juste avant line2 je rajouterais une ligne renvoyant à la fin de la macro par une nouvelle balise :

Next j 'je pense qu il manque un 'end quelquechose' à ce niveau là
GoTo fin
line2:


cette balise fin serait ici :
fin:
Range('B9:c9').Select
UserForm7.Hide
End Sub

sinon le renvoi sur line1 execute forcément line2 après (je crois que ton vrai problème est là)

4. je supprimerais le dernier End If (avant Range('B9:c9').Select) car il me paraît être en trop.


Message édité par: Robert, à: 09/10/2005 00:24
 

Hervé

XLDnaute Barbatruc
Bonsoir Dakama, cher robert, le forum


Sinon, une autre syntaxe possible, sans avoir testé :


On doit pouvoir aussi se passer des variables LISTBOXVAL et VAE.

salut
 

porcinet82

XLDnaute Barbatruc
Bonjour a tous,

Et bien Karine, je me connecte juste aujourd'hui, donc je viens de voir que quelqu'un d'autre t'avais aidé et surement mieux que moi puisque la ce sont de vrais expert.

Mais au plaisir de te recroiser sur le forum.

@+
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…