Ajout de conditions sur deux macros qui ont la même fonction
Fermé
NkRedoxx
-
8 juin 2016 à 09:34
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 9 juin 2016 à 13:42
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 9 juin 2016 à 13:42
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
- Faire deux colonnes sur word - Guide
- Deux compte whatsapp sur le même téléphone samsung - Guide
- Deux ecran pc - Guide
- Demande d'ajout snap qui disparait ✓ - Forum Snapchat
4 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
8 juin 2016 à 13:01
8 juin 2016 à 13:01
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
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
8 juin 2016 à 15:10
8 juin 2016 à 15:10
Bonjour
Un essai à tester
http://www.cjoint.com/c/FFinkfTCrZe
Cdlmnt
Un essai à tester
http://www.cjoint.com/c/FFinkfTCrZe
Cdlmnt
NkRedoxx
Messages postés
63
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
20 juin 2016
8 juin 2016 à 15:30
8 juin 2016 à 15:30
J'ai une erreur dans la deuxième macro (Ports_Dispo266267)
(Incompatibilité de type)
sur cette ligne
(Incompatibilité de type)
sur cette ligne
.Range(coFR & lidebFR).Resize(nbcles - 1, 1) = Application.Transpose(cles):
NkRedoxx
Messages postés
63
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
20 juin 2016
8 juin 2016 à 15:32
8 juin 2016 à 15:32
La macro un ne renvoie pas le bon résultat comme sur mon fichier :
http://www.cjoint.com/c/FFil6k8JAOC
http://www.cjoint.com/c/FFil6k8JAOC
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
8 juin 2016 à 16:09
8 juin 2016 à 16:09
Dans la feuille BAIE AT10 lignes 219 à 324 il n'y a pas de n° Switch, est ce normal ?
NkRedoxx
Messages postés
63
Date d'inscription
mercredi 8 juin 2016
Statut
Membre
Dernière intervention
20 juin 2016
8 juin 2016 à 16:12
8 juin 2016 à 16:12
NON ce n'es pas normal je te redonne le fichier avec joint ici :
http://www.cjoint.com/c/FFiomZCK1AC
http://www.cjoint.com/c/FFiomZCK1AC
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
Modifié par ccm81 le 9/06/2016 à 13:42
Modifié par ccm81 le 9/06/2016 à 13:42
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
8 juin 2016 à 13:59
http://www.cjoint.com/c/FFil6k8JAOC
8 juin 2016 à 14:09
Cordialement,