Ajout de conditions sur deux macros qui ont la même fonction
NkRedoxx
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour, je dispose de deux macros quasiment identique et qui font exactement la même chose ! J'aimerais poser une condition pour les deux macros. J'aimerais en fait que la macro1 traite que les num de switch EAR 268,269 et 270 et que la macro2 fasse les num de switch EAR 266 et 267. Ma macro 1 renvoie un résultat en colonne B de SOMMAIRE et ma macro 2 en colonne C. Les numéros des switchs se trouve en colonne E en BAIE AT10 et en colonne A de DATA SWITCH en fonction de ces deux colonnes . Je vous laisse ci-joint tous les documents merci à vous !
Macro 1 : http://www.cjoint.com/c/FFihHzfJ8XC
Macro 2 : http://www.cjoint.com/c/FFihIdqO8VC
Fichier Excel : http://www.cjoint.com/c/FFihINhFNnC
Macro 1 : http://www.cjoint.com/c/FFihHzfJ8XC
Macro 2 : http://www.cjoint.com/c/FFihIdqO8VC
Fichier Excel : http://www.cjoint.com/c/FFihINhFNnC
A voir également:
- Ajout de conditions sur deux macros qui ont la même fonction
- Fonction si et - Guide
- Comment faire deux colonnes sur word - Guide
- Nombre de jours entre deux dates excel - Guide
- Deux compte whatsapp sur le même téléphone samsung - Guide
- Deux ecran pc - Guide
4 réponses
Bonjour
Si j'ai bien compris
A tester
Cdlt
Si j'ai bien compris
Option Explicit
Const F1 = "BAIE AT10"
Const lidebF1 = 2
Const coF1 = "F"
Const F2 = "DATA SWITCH"
Const lidebF2 = 2
Const coF2 = "B"
Const FR = "SOMMAIRE"
Const lidebFR = 2
Const coFRB = "B"
Const coFRC = "C"
Const nonOK = "NO BRASS NON AFFECT DON'T CONNECT "
Public Sub Ports_Dispo()
Dim liF As Long, lifinF As Long
Dim obj As Object
Dim dico As Object, cle As String, cles, valeurs, nbcles As Long, nucle As Long
Set dico = CreateObject("scripting.dictionary")
With Sheets(F1)
lifinF = .Range(coF1 & Rows.Count).End(xlUp).Row
For liF = lidebF1 To lifinF
cle = .Range(coF1 & liF).Value
If InStr(1, nonOK, cle) = 0 And .Cells(liF, "E") = "EAR268" Or InStr(1, nonOK, cle) = 0 And .Cells(liF, "E") = "EAR269" Or InStr(1, nonOK, cle) = 0 And .Cells(liF, "E") = "EAR270" Then
If Not dico.exists(cle) Then dico.Add cle, 1
End If
Next liF
End With
With Sheets(F2)
lifinF = .Range(coF2 & Rows.Count).End(xlUp).Row
For liF = lidebF2 To lifinF
cle = .Range(coF2 & liF).Value
If InStr(1, nonOK, cle) = 0 And .Cells(liF, "E") = "EAR268" Or InStr(1, nonOK, cle) = 0 And .Cells(liF, "E") = "EAR269" Or InStr(1, nonOK, cle) = 0 And .Cells(liF, "E") = "EAR270" Then
If dico.exists(cle) Then
dico.Remove (cle)
Else
dico.Add cle, 1
End If
End If
Next liF
End With
cles = dico.keys
valeurs = dico.items
nbcles = dico.Count
Sheets(FR).Range(coFRB & lidebFR).Resize(nbcles - 1, 1) = Application.Transpose(cles)
End Sub
Public Sub Ports_Dispo266267()
Dim derlig As Long
Dim liF As Long, lifinF As Long
Dim obj As Object
Dim dico As Object, cle As String, cles, valeurs, nbcles As Long, nucle As Long
Set dico = CreateObject("scripting.dictionary")
With Sheets(F1)
lifinF = .Range(coF1 & Rows.Count).End(xlUp).Row
For liF = lidebF1 To lifinF
cle = .Range(coF1 & liF).Value
If InStr(1, nonOK, cle) = 0 And .Cells(liF, "A") = "EAR266" Or InStr(1, nonOK, cle) = 0 And .Cells(liF, "A") = "EAR267" Then
If Not dico.exists(cle) Then dico.Add cle, 1
End If
Next liF
End With
With Sheets(F2)
lifinF = .Range(coF2 & Rows.Count).End(xlUp).Row
For liF = lidebF2 To lifinF
cle = .Range(coF2 & liF).Value
If InStr(1, cle, nonOK) = 0 And .Cells(liF, "A") = "EAR266" Or InStr(1, nonOK, cle) = 0 And .Cells(liF, "A") = "EAR267" Then
If dico.exists(cle) Then
dico.Remove (cle)
Else
dico.Add cle, 1
End If
End If
Next liF
End With
cles = dico.keys
valeurs = dico.items
nbcles = dico.Count
With Sheets(FR)
.Range(coFRC & lidebFR).Resize(nbcles - 1, 1) = Application.Transpose(cles)
Application.DisplayAlerts = False
With Worksheets("SOMMAIRE")
derlig = .Range("C" & Rows.Count).End(xlUp).Row
Columns("C:C").Select
.Range("$C$1:$C$" & derlig).RemoveDuplicates Columns:=1, Header:=xlYes
End With
Application.DisplayAlerts = True
End With
End Sub
A tester
Cdlt
Je crois que j'ai du mal à comprendre le problème
Pour chacune des anomalies (cellules en couleur), peux tu me dire pourquoi
http://www.cjoint.com/c/FFjlJUv6ePe
Ou/et mieux
Peux tu me donner des exemples commentés de résultats attendus
Exemples :
1. pour le port G1/0/1 switchs 266 et 268, je dois le retrouver dans la liste des dispo 266 et pas das celle des 268
2. ....
En essaynat de décrire tous les cas possibles
Cdlmnt
Pour chacune des anomalies (cellules en couleur), peux tu me dire pourquoi
http://www.cjoint.com/c/FFjlJUv6ePe
Ou/et mieux
Peux tu me donner des exemples commentés de résultats attendus
Exemples :
1. pour le port G1/0/1 switchs 266 et 268, je dois le retrouver dans la liste des dispo 266 et pas das celle des 268
2. ....
En essaynat de décrire tous les cas possibles
Cdlmnt
http://www.cjoint.com/c/FFil6k8JAOC
Cordialement,