Incrémentation avec changement de colonne avec conditions
cs_Guigzz
Messages postés13Date d'inscriptionjeudi 14 septembre 2006StatutMembreDernière intervention17 novembre 2006
-
14 sept. 2006 à 16:10
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
19 sept. 2006 à 15:22
Bonjour j'ai un petit problème d'execution après compilation.L'erreur dans mon code se situe au niveau de ma premiere condition sur un "Range", le message d'erreur etant le suivant:
Erreur d'execution 1004 : la methode 'Range' de l'objet'_Global' a échoué
Je mes mon code ci-dessous merci d'avance
Sub Suivi_contestation()
Dim prem As String
Dim deux As String
Dim trois As String
Dim var1 As Integer
Dim var2 As Integer
Dim var3 As Integer
prem = "F"
deux = "G"
trois = "I"
var1 = Asc(prem)
var2 = Asc(deux)
var3 = Asc(trois)
ET3:
i = 5
Do Until Range("A" & i).Value = ""
If Range(prem & i).Value = "" Then
Range("D" & i).Value = "Attente envoi du courrier au CEA"
GoTo ET1
Else
If Range(deux & i).Value = "" Then
Range("D" & i).Value = "Attente réponse CEA"
GoTo ET1
Else
If Range(trois & i).Value = "OK" Then
Range("D" & i).Value = "Imputation modifiée"
GoTo ET1
Else
If Range(trois & i).Value = "" Then
Range("D" & i).Value = "Remplir la cellule réponse MOE"
GoTo ET1
Else
If Range(trois & i).Value = "KO" Then
GoTo ET2
End If
End If
End If
End If
End If
ET1:
i = i + 1
Loop
ET2:
var1 = Asc(prem) + 4
prem = Chr(var1)
var2 = Asc(deux) + 4
deux = Chr(var2)
var3 = Asc(trois) + 4
trois = Chr(var3)
GoTo ET3
End Sub
A voir également:
Incrémentation avec changement de colonne avec conditions
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201117 14 sept. 2006 à 18:22
Si la fonction s'arrête dès que la cellule A... est vide !
Sinon, astuce pour tes If, qui sont très mal présenté :
If Range(prem & i).Value = "" Then
Range("D" & i).Value = "Attente envoi du courrier au CEA"
GoTo ET1
Else
If Range(deux & i).Value = "" Then
Range("D" & i).Value = "Attente réponse CEA"
GoTo ET1
Else
if Range(trois & i).Value = "OK" Then
Range("D" & i).Value = "Imputation modifiée"
GoTo ET1
Else
If Range(trois & i).Value = "" Then
Range("D" & i).Value = "Remplir la cellule réponse MOE"
GoTo ET1
Else
If Range(trois & i).Value = "KO" Then
GoTo ET2
End If
End If
End If
End If
End If
Ensuite pour ton problème :
If Range(prem & i).Value = "" FAUX !!!!!!!!
D'après la catégorie, tu n'est pas en VBA mais VB6 ! Il faut donc faire un Set de l'appli Excel
cs_Guigzz
Messages postés13Date d'inscriptionjeudi 14 septembre 2006StatutMembreDernière intervention17 novembre 2006 15 sept. 2006 à 09:20
En fait ce code sert à indiquer l'etat d'avancement de courrier concernant des contestations sur l'imputation de problème sur un chantier. Il faut en fait indiquer l'etat d'avancement quand les dates de courrier sont introduites dans les cellules, le nombre d'aller-retour du courrier n'etant pas defini a l avance. Quand à ce qui m'est dit precedemment VBA ou VB6,... je suis debutant et je ne fais pas trop la difference alors quand à savoir si j utilise l'un ou l'autre...
@+