Bonjour à tous !
Voilà je bloque complétement là, je ne suis pas expert du tout en VBA je bidouille un peu et là j'ai fais un code assez long et peut être trop même.
Ce code ne marche pas et je ne comprend pas pourquoi. Voyez vous même ;
Cette ligne : Sheets("PDL").Range("B" & mn).Value = Sheets("PDL").Range("A1").Value (située vers la fin du code)
est surlignée en jaune lorsque la macro plante. Pour mieux situer le problème j'ai essayer de remplacer cette ligne par : Sheets("PDL").Range(B24).Value = 33
Qui est beaucoup plus simple mais ne fonctionne pas non plus et me renvoie la même erreur.... que faire ....
Si nécessaire je peut fournir le fichier complet, mais il est assez conséquent. M'enfin si quelqu'un est volontaire pour relire mon fichier (je pense qu'il n'y a pas que ça à corriger '^^). Merci de jeter un oeil à mon message en tout cas !
Bye
Voilà je bloque complétement là, je ne suis pas expert du tout en VBA je bidouille un peu et là j'ai fais un code assez long et peut être trop même.
Ce code ne marche pas et je ne comprend pas pourquoi. Voyez vous même ;
Code:
Private Sub Ok3_Click()
Dim c As Integer
Dim incrctr As Integer
Dim texte As String
Dim lignomcli As Integer
lignomcli = Sheets("Clients").Range("D3:D1048576").cells.Find(Contratsociete3.Value).Row
texte = Formule3.Value
c = Sheets("Contrats").Range("B1048576").End(xlUp).Offset(1, 0).Row
If Contratsociete3.Value = "" Or Formule3.Value = "" Or Comm3.Value = "" Or Prefpanier3.Value = "" Then
MsgBox "Veuillez rentrer TOUTES les informations nécessaires !"
Else
Sheets("Contrats").Range("A2").Value = Sheets("Contrats").Range("A2").Value + 1
incrctr = Sheets("Contrats").Range("A2").Value
If Formule3.Value = Sheets("Listes").Range("C6").Value Then 'Si abonnement
Range("B" & c) = Sheets("Contrats").Range("A2").Value
Range("D" & c).Value = Contratsociete3.Value
Range("F" & c).Value = Formule3.Value
Range("AA" & c).Value = TextBox4.Value
Range("Y" & c).Value = TextBox5.Value
Range("H" & c).Value = Comm3.Value
Range("I" & c).Value = Prefpanier3.Value
Range("J" & c).Value = pan1.Value * 1
Range("K" & c).Value = pan2.Value * 1
Range("L" & c).Value = pan3.Value * 1
Range("M" & c).Value = pan4.Value * 1
Range("N" & c).Value = pan5.Value * 1
Range("O" & c).Value = Jour1.Value
Range("p" & c).Value = Jour2.Value
Range("q" & c).Value = Jour3.Value
Range("r" & c).Value = Jour4.Value
Range("s" & c).Value = Jour5.Value
Range("T" & c).Value = DateCre3.Value
Range("W" & c).Value = Susp13.Value
Range("X" & c).Value = Susp23.Value
Else 'si a la carte
Range("B" & c).Value = incrctr
Range("D" & c).Value = Contratsociete3.Value
Range("F" & c).Value = Formule3.Value
Range("V" & c).Value = Semlivr3.Value
Range("AA" & c).Value = 1
Range("Y" & c).Value = 1
Range("H" & c).Value = Comm3.Value
Range("I" & c).Value = Prefpanier3.Value
Range("J" & c).Value = pan1.Value * 1
Range("K" & c).Value = pan2.Value * 1
Range("L" & c).Value = pan3.Value * 1
Range("M" & c).Value = pan4.Value * 1
Range("N" & c).Value = pan5.Value * 1
Range("O" & c).Value = Jour1.Value
Range("p" & c).Value = Jour2.Value
Range("q" & c).Value = Jour3.Value
Range("r" & c).Value = Jour4.Value
Range("s" & c).Value = Jour5.Value
Range("T" & c).Value = DateCre3.Value
Range("W" & c).Value = Susp13.Value
Range("X" & c).Value = Susp23.Value
MsgBox "Veuillez renseigner ou vérifier votre type de contrat (formule)"
End If
If CheckBox1.Value = True Then
Sheets("PDL").Range("A1").Value = Sheets("PDL").Range("A1").Value + 1
Dim mn As Integer
mn = Sheets("PDL").Range("B1048576").End(xlUp).Offset(1, 0)
Sheets("Contrats").Range("E" & c).Value = Sheets("PDL").Range("A1").Value
Sheets("PDL").Range("B" & mn).Value = Sheets("PDL").Range("A1").Value
Sheets("PDL").Range("C" & mn).Value = Sheets("Clients").Range("B" & lignomcli).Value
Sheets("PDL").Range("D" & mn).Value = Contratsociete3.Value
Sheets("PDL").Range("E" & mn).Value = "APF Entreprise"
Sheets("PDL").Range("F" & mn).Value = Sheets("Clients").Range("E" & lignomcli).Value
Sheets("PDL").Range("G" & mn).Value = Sheets("Clients").Range("G" & lignomcli).Value
Sheets("PDL").Range("H" & mn).Value = Sheets("Clients").Range("H" & lignomcli).Value
Sheets("PDL").Range("I" & mn).Value = Sheets("Clients").Range("I" & lignomcli).Value
Sheets("PDL").Range("J" & mn).Value = Sheets("Clients").Range("J" & lignomcli).Value
Else
Range("E" & c).Value = PDL3.Value
End If
End If
Unload AddContrat1
End Sub
Cette ligne : Sheets("PDL").Range("B" & mn).Value = Sheets("PDL").Range("A1").Value (située vers la fin du code)
est surlignée en jaune lorsque la macro plante. Pour mieux situer le problème j'ai essayer de remplacer cette ligne par : Sheets("PDL").Range(B24).Value = 33
Qui est beaucoup plus simple mais ne fonctionne pas non plus et me renvoie la même erreur.... que faire ....
Si nécessaire je peut fournir le fichier complet, mais il est assez conséquent. M'enfin si quelqu'un est volontaire pour relire mon fichier (je pense qu'il n'y a pas que ça à corriger '^^). Merci de jeter un oeil à mon message en tout cas !
Bye