erreur de compil????

  • Initiateur de la discussion Initiateur de la discussion dakama
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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('D317😀339').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
 
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
 
Bonsoir Dakama, cher robert, le forum


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

Sub EFFACE_SEMAINE()
Dim col As Byte, j As Byte
Dim plage As Range
Dim var As Byte
Dim LISTBOXVAL As String

var = 0

If UserForm7.ListBox1.ListIndex = -1 Then
    MsgBox 'Vous n
'avez pas sélectionné de camion', vbCritical, 'LM'
   
Exit Sub
End If

LISTBOXVAL = UserForm7.ListBox1.Value

For col = 2 To 12 Step 2
   
If LISTBOXVAL = Cells(11, col).Value Then Exit For
Next col


Select Case col
   
Case 2, 6, 10
       
Set plage = Range('D317😀339')
   
Case 4, 8, 12
       
Set plage = Range('F317:F339')
End Select
   

For j = 1 To 7
    plage.Copy Destination:=Cells(13 + var, col)
    var = var + 30
Next j

Range('B9:c9').Select
UserForm7.Hide
End Sub

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

salut
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
177
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
10
Affichages
281
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
162
Réponses
8
Affichages
466
Réponses
3
Affichages
665
Retour