Incrementation automatique d'un numero avec un macro

mpire

XLDnaute Nouveau
Bonjour tous le monde

je suis nouveau dans le monde VBA est je veux faire un simple macro d’incrémentation d'un numéro ( une adresse ip )

exemple de mon problème

j'ai une cellule qui contient une commande comme ça : Display ip adresse 172.28.30.0

alors je veux un macro qui ajoute +14 pour le dernier partie d’adresse

dans mon cas le résultats doit être : 172.28.30.14


merci d'avance
 

jp14

XLDnaute Barbatruc
Re : Incrementation automatique d'un numero avec un macro

Bonjour

Un code évènementiel qui répond à la question.
Un double click incrémente la dernière valeur.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Data1() As String, Valeur1 As Integer
Data1 = Split(CStr(Target.Value), ".")
Valeur1 = CInt(Data1(3) + 1) ' 1 a modifier en fonction de l'incrément désiré
' Le nombre de chiffre étant variable ( 192.168.1.1  a 192.168.256.xxx ) on construit l'adresse IP avec les octets
Target.Value = Data1(0) & "." & Data1(1) & "." & Data1(2) & "." & Valeur1  
End Sub
[CODE]

A tester

JP
 
Dernière édition:

mpire

XLDnaute Nouveau
Re : Incrementation automatique d'un numero avec un macro

Bonjour , merci pour votre reposne est conseil je suis nouveau dans le forum

votre reponse marche mais il ajoute des numero au dernier partie
par exp : 172.28.30.16 en exécutant le macro devient 172.28.30.1630 ?

merci
 

job75

XLDnaute Barbatruc
Re : Incrementation automatique d'un numero avec un macro

Bonjour à tous,

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pas&, s
pas = 14 'à adapter
If InStr(Target, ".") = 0 Then Exit Sub
Cancel = True
s = Split(Target, ".")
s(UBound(s)) = Val(s(UBound(s))) + pas
Target = Join(s, ".")
End Sub
A+
 

Lone-wolf

XLDnaute Barbatruc
Re : Incrementation automatique d'un numero avec un macro

Bonsoir à tous

Si tu veux éviter le double-clic

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Cellules à  modifier
If Target.Address = "$B$3" Then Range("b2").Activate 'B2 est la cellule du résultat

'LA MACRO
End Sub
 

Lone-wolf

XLDnaute Barbatruc
Re : Incrementation automatique d'un numero avec un macro

Bonjour à tous :)

@mpire: une correction de la macro que j'ai montré qui faussait le calcul. Désolé.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim pas&, s
If Target.Address <> "$B$2" Then
Range("b2").activate
pas = 14 'à adapter
If InStr(Range("b2"), ".") = 0 Then Exit Sub
Cancel = True
s = Split(Range("b2"), ".")
s(UBound(s)) = Val(s(UBound(s))) + pas
Range("b2") = Join(s, ".")
Else
Exit Sub
End If
End Sub

Ensuite pour l'incrementation, tape ( mais pas trop fort!! furieux.gif) ENTER
 

Pièces jointes

  • furieux.gif
    furieux.gif
    16.8 KB · Affichages: 48
Dernière édition:

mpire

XLDnaute Nouveau
Re : Incrementation automatique d'un numero avec un macro

Bonjour à tous :)

@mpire: une correction de la macro que j'ai montré qui faussait le calcul. Désolé.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim pas&, s
If Target.Address <> "$B$2" Then
Range("b2").activate
pas = 14 'à adapter
If InStr(Range("b2"), "") = 0 Then Exit Sub
Cancel = True
s = Split(Range("b2"), "")
s(UBound(s)) = Val(s(UBound(s))) + pas
Range("b2") = Join(s, "")
Else
Exit Sub
End If
End Sub

Ensuite pour l'incrementation, tape ( mais pas trop fort!! Regarde la pièce jointe 362123) ENTER



merci beaucoup
 

Discussions similaires

Réponses
1
Affichages
330

Statistiques des forums

Discussions
314 208
Messages
2 107 290
Membres
109 796
dernier inscrit
aelgar