Méthode Value de la classe Range à échoué + plantage excel

Bobbcolin

XLDnaute Nouveau
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 ;
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
 

Bobbcolin

XLDnaute Nouveau
Re : Méthode Value de la classe Range à échoué + plantage excel

Je viens d'essayer ça ne change pas. Merci en tout cas j'avais oublié le .row !

J'avais oublié de le préciser mais quand la macro bug excel se ferme tout seul et je ne peut pas réouvrir le fichier. Je suis obligé d'en créer une copie et d'ouvrir la copie.

De plus, quand j'ouvre cette nouvelle copie il me dit que certaine lisaisons qui ne peuvent être mises à jours. je ne comprend pas sachant que mon fichier n'est lié à aucun autre. J'essaie de rompre les liaison mais sans succès ... je ne sais pas si ça a à voir.

Cordialement,
Bob
 
Dernière édition:

Bobbcolin

XLDnaute Nouveau
Re : Méthode Value de la classe Range à échoué + plantage excel

Je vous le transfert par mail. Merci

Je n'arrive pas à obtenir votre adresse mail, et je n'arrive pas à vous transférer une pièce jointe par MP. Peut-on envoyer des pièces jointes en mp ?
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 912
Membres
103 983
dernier inscrit
AlbertCouillard