[RESOLU]Probleme Macro de remplacement

Yaniv

XLDnaute Junior
Bonjour a tous je dispose en fait de la plutot simple macro suivante

Code:
Sub testNulll()
Dim i As Long
With Sheets("Exotiques")
 For i = 1 To 10735
  If Cells(i, 2).Value = "NULL" Then
  Cells(i, 2).Value = Cells(i, 2).Value
   [U]Else: Cells(i, 2).Value = Cells(i, 2).Value + 1323[/U]   End If
   Next i
   End With
End Sub

dc qui dans ma colonne B , me garde les valeurs "NULL" et me remplacent le chiffre x par x+1323
Toutefois j ai un bug lors de l execution au niveau la ligne souligne et il semble que ce soit le "+1323" qui ccause probleme je ne sai pas pourquoi
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Probleme Macro de remplacement

Bonjour,

peut être tester si la cellule possède une valeur numérique :
Code:
If IsNumeric(Cells(i, 2).Value) Then Cells(i, 2).Value = Cells(i, 2).Value + 1323

sans plus de détails, difficile d'en dire plus...

bon après midi
@+
 

Yaniv

XLDnaute Junior
Re : Probleme Macro de remplacement

BOnjour a tous merci de votre aide , effectivement j ai oublie de mettre isnumeric donc forcement l erreur venait du fait que les cases contenant "NULL" entrainaient lerreur . je m excuse de cette erreur d inattention et merci encore de vos reponse et de votre aide
bonne journee
 

Yaniv

XLDnaute Junior
Re : [RESOLU]Probleme Macro de remplacement

effectivement , c pour cela que je ne comprenais pas l erreur moi meme car a part des "NULL" et des valeurs il n y a rien d autres
g modifie mon code de la maniere suivante avec l aide de pierrot et ca marche parfaitement
Code:
Sub testNulll()
Dim i As Long
With Sheets("Exotiques")
 For i = Range("B10735").End(xlUp).Row To 1 Step -1
  If IsNumeric(Cells(i, 2).Value) Then
  Cells(i, 2).Value = Cells(i, 2).Value + 1323
 Else: Cells(i, 2).Value = "NULL"
   End If
   Next i
   End With
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : [RESOLU]Probleme Macro de remplacement

Re,

A noter, tu utilises un bloc "with" mais tu ne fais pas précéder les instructions s'y rapportant d'un point...

Code:
Dim i As Long
With Sheets("Exotiques")
    For i = .Range("B10735").End(xlUp).Row To 1 Step -1
        If IsNumeric(.Cells(i, 2).Value) Then
            .Cells(i, 2).Value = .Cells(i, 2).Value + 1323
        Else
            .Cells(i, 2).Value = "NULL"
        End If
    Next i
End With

donc le code s'applique sur la feuille active ou s'il est placé dans un module de feuille, dans cettre dernière... euille
 

Yaniv

XLDnaute Junior
Re : [RESOLU]Probleme Macro de remplacement

ah je ne connaissais pas cette regle merci de m en informer c est interessant a savoir pour la suite effectivement le with sans les points ne me servent a rien si j ai bien compris , la macro est juste appliquee dans la feuille active .
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 041
Membres
102 764
dernier inscrit
nestu