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
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
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
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
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 .