Incrementation automatique d'un numero avec un macro

  • Initiateur de la discussion Initiateur de la discussion mpire
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

mpire

Guest
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
 
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:
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
 
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+
 
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
 
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: 50
Dernière édition:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
557
Retour