XL 2019 erreur de capacité

jahjah

XLDnaute Nouveau
Bonjour à tous !

avant de commencer tout d'abord je vous souhaite tous mes meilleurs vœux pour cette nouvelle année!!

ensuite voici mon soucis de ce matin erreur de capacité j'ai cherché un peu et j'ai compris que c'est une histoire de 37700 mais je ne vois pas ce qui cloche là dedans ?

avez vous vous une idée?

Sub Go()

Range("E20").Value = Range("E20").Value + 1

'Feuilles
Set Ws = Sheets("BDD")
Set Ws1 = Sheets("Fact PCE Auto")

'Plage de référence, avec les dates en troisième colonne de la plage et les références clients en deuxième de la plage
Set maPlage = Ws.Range("A4:F" & Ws.Range("AN65536").End(xlUp).Row)

'Les cellules E3, F3 et G3 correspondent aux infos que l'on rentre, il faut les changer dans la suite du code si on modifie leur position
If Ws1.Range("N12").Value = "" Or Ws1.Range("B24").Value = "" = "" Or Ws1.Range("E20").Value = "" = "" Then

MsgBox "Tous les champs doivent être remplis!", vbCritical, "Attention!"

Else

With Ws
For i = maPlage.Row + 1 To maPlage.Rows.Count + maPlage.Row - 1


If .Cells(i, maPlage.Column + 49).Value = Ws1.Range("B24").Value And .Cells(i, maPlage.Column + 6).Value = Ws1.Range("N12").Value Then

.Cells(i, maPlage.Column + (maPlage.Columns.Count + maPlage.Column + 54)).Value = Ws1.Range("E20").Value

End If

Next i

End With

End If

End Sub


merci de vos retours

bonne journée
 

M12

XLDnaute Accro
Bonjour,
Je ne pense pas que l'expression
VB:
Sub Go()
puisse fonctionner, de même avec
Code:
If Ws1.Range("N12").Value = "" Or Ws1.Range("B24").Value = "" = "" Or Ws1.Range("E20").Value = "" = "" Then

Commencer par inscrire en haut de la macro
Option Explicit et déclarez vos variables, la source d'erreur sera plus ciblé

Teste avec ceci

VB:
Sub Test()
 Dim i As Long, MaPlage As Range
 Dim Ws As Worksheet, Ws1 As Worksheet
Range("E20").Value = Range("E20").Value + 1

'Feuilles
Set Ws = Sheets("BDD")
Set Ws1 = Sheets("Fact PCE Auto")

'Plage de référence, avec les dates en troisième colonne de la plage et les références clients en deuxième de la plage
Set MaPlage = Ws.Range("A4:F" & Ws.Range("AN65536").End(xlUp).Row)

'Les cellules E3, F3 et G3 correspondent aux infos que l'on rentre, il faut les changer dans la suite du code si on modifie leur position
  If Ws1.Range("N12").Value = "" Or Ws1.Range("B24").Value = "" Or Ws1.Range("E20").Value = "" Then
    MsgBox "Tous les champs doivent être remplis!", vbCritical, "Attention!"
  Else
    With Ws
      For i = MaPlage.Row + 1 To MaPlage.Rows.Count + MaPlage.Row - 1
        If .Cells(i, MaPlage.Column + 49).Value = Ws1.Range("B24").Value And .Cells(i, MaPlage.Column + 6).Value = Ws1.Range("N12").Value Then
          .Cells(i, MaPlage.Column + (MaPlage.Columns.Count + MaPlage.Column + 54)).Value = Ws1.Range("E20").Value
        End If
      Next i
    End With
  End If
End Sub
 
Dernière édition:

jahjah

XLDnaute Nouveau
Bonjour,
Je ne pense pas que l'expression
VB:
Sub Go()
puisse fonctionner, de même avec
Code:
If Ws1.Range("N12").Value = "" Or Ws1.Range("B24").Value = "" = "" Or Ws1.Range("E20").Value = "" = "" Then

Commencer par inscrire en haut de la macro
Option Explicit et déclarez vos variables, la source d'erreur sera plus ciblé

Teste avec ceci

VB:
Sub Test()
Dim i As Long, MaPlage As Range
Dim Ws As Worksheet, Ws1 As Worksheet
Range("E20").Value = Range("E20").Value + 1

'Feuilles
Set Ws = Sheets("BDD")
Set Ws1 = Sheets("Fact PCE Auto")

'Plage de référence, avec les dates en troisième colonne de la plage et les références clients en deuxième de la plage
Set MaPlage = Ws.Range("A4:F" & Ws.Range("AN65536").End(xlUp).Row)

'Les cellules E3, F3 et G3 correspondent aux infos que l'on rentre, il faut les changer dans la suite du code si on modifie leur position
  If Ws1.Range("N12").Value = "" Or Ws1.Range("B24").Value = "" Or Ws1.Range("E20").Value = "" Then
    MsgBox "Tous les champs doivent être remplis!", vbCritical, "Attention!"
  Else
    With Ws
      For i = MaPlage.Row + 1 To MaPlage.Rows.Count + MaPlage.Row - 1
        If .Cells(i, MaPlage.Column + 49).Value = Ws1.Range("B24").Value And .Cells(i, MaPlage.Column + 6).Value = Ws1.Range("N12").Value Then
          .Cells(i, MaPlage.Column + (MaPlage.Columns.Count + MaPlage.Column + 54)).Value = Ws1.Range("E20").Value
        End If
      Next i
    End With
  End If
End Sub


ça fonctionne effectivement merci pour l'aide les amis !!!! belle année vous etes super !
 

Statistiques des forums

Discussions
312 111
Messages
2 085 400
Membres
102 883
dernier inscrit
jameseyz