Next sans for

bonjour j'ai un problème avec mon code et je ne trouve pas pourquoi ...

il n'est pas encroe totalement fini mais je voulais déjà regler les petites erreur si quelqu'un peut m'aider ..

Cordialement

Sub autreservice()
'
' autreservice Macro
'

Dim LaDate As Date
Dim k As Integer
Dim v As String
Dim x As Integer
Dim y As String ' y ordonnée
Dim z As Integer ' z abscisses

Dim Fichier As Variant
Dim resultat As String

    LaDate = Date  'date
    Fichier = WeekdayName(Weekday(LaDate, 2), , 2)

    x = 4
    Sheets("QUESTIONS").Select
    resultat = Application.VLookup(Range("$d$3"), Range("$e$3:$g$8"), 3, False)

If MsgBox("confirmer votre réponse ?", vbQuestion + vbYesNo, "QUESTION ...") = vbYes Then

 Sheets("QUESTIONS").Select
End If

If Fichier = "lundi" Then
y = "h"
End If

If Fichier = "mardi" Then
y = "j"
End If

If Fichier = "mercredi" Then
y = "L"
End If

If Fichier = "jeudi" Then
y = "n"
End If

If Fichier = "vendredi" Then
y = "p"
End If

For k = 3 To 8
[u]If Cells("h", k) = "ok" Then
Else
Next k[/u] 'next sans for
End If

If Range("c3") = "RH/HSE" Then
z = 5
Sheets("RH HSE").Select
End If

If Range("c3") = "FINANCE" Then
z = 8
Sheets("FINANCE").Select
End If

If Range("c3") = "LOGISTIQUE" Then
z = 11
Sheets("LOGISTIQUE").Select
End If

If Range("c3") = "PRODUCTION" Then
z = 14
Sheets("PRODUCTION").Select
End If

If Range("c3") = "METHODES" Then
z = 17
Sheets("METHODES").Select
End If

If Range("c3") = "MAINTENANCE" Then
z = 20
Sheets("MAINTENANCE").Select
End If

If Range("c3") = "QUALITE" Then
z = 23
Sheets("QUALITE").Select
End If

'procédure de copy de la question

For v = b To g
   If resultat = Range("B" & v & ":B" & v + 1) Then
    Range("B" & v & ":B" & v + 1).Select
    Selection.Copy
    Sheets("Feuil1").Select
    Range(y, z - 1).Select
    ActiveSheet.Paste
    Range("a1").Select

Else
Next v
End If
End Sub

Bonjour,

En fait c'est le End if qui est mal placé.

A+

oui c'était ca et miantenat j'ai une erreur 5 argument ou appel de procédure incorrect

For v = Asc(A) + 1 To Asc(G) ' boucle avec lettre alphabet
   If resultat = Range("B" & v & ":B" & v + 1) Then
    Range("B" & v & ":B" & v + 1).Select
    Selection.Copy
    Sheets("Feuil1").Select
    Range(y, z - 1).Select
    ActiveSheet.Paste
    Range("a1").Select

End If
Next v

Mettre des guillemets :

Asc("A") to Asc("G")

... Il va falloir que tu révises la manière de supprimer tous ces Select, Selection !

A+

merci et désolé je suis pas trop une machine en vba je fais de mon mieux qu'est ce que tu entends par révisé comment supprimer tous ca ?

For v = 2 To 7 ' boucle avec lettre alphabet

   If resultat = Cells(3, v).Value Then
    Range(v & 3 & ":" & v & 4).Select
    Selection.Copy
    Sheets("Feuil1").Select
    Range(y, z - 1).Select
    ActiveSheet.Paste
    Range("a1").Select

j'ai modfifié un peu mon code, je m'explique

ici résultat = une question trouvé par une recherche v

or dans une autre feuille de donnée j'ai 5 à 6 question cote à cote et efaite ma boucle me permet de voir quand estce que les questions sont équivalente et quand c'est le cas se recopier dans une case

"comment supprimer tous ça" ?

Désolé mais en l'absence du fichier impossible de te répondre correctement.

Du code enregistré, c'est comme un tas de pièces de voitures : Un fois mis en tas et mélangées avec d'autres trucs, ça ne te dit pas comment réparer la voiture...

A+

Rechercher des sujets similaires à "next"