pbm avec if

  • Initiateur de la discussion arno
  • Date de début
A

arno

Guest
bonjour
j ai un probleme avec l operateur if. je n'arrive pas a poser 2 conditions. je souhaite eliminer les comboboxes qui n ont pas de nom particulier:


Dim combb As Object

With ActiveSheet
For i = .Shapes.Count To 1 Step -1
Set combb = .Shapes(i)
If Not combb.Name= 'el_type' & i Or 'mesh_type' Then combb.Delete
Next i
End With

que dois je faire. merci d'avance
 
A

arno

Guest
bonjour
en faite je veux copier une combobox (du nom de el_type) a partir d une feuille(test1), la copier plusieur fois (5 fois) sur une autre(test), renommer les 2 premiere sous les noms de c_el_type et c_mesh_type. enfin je veux eliminer sur cette feuille less 3 autres combobox que je viens d importer. j tente de faire comme ci dessous mais je n y arrive pas.

Sub Macro6()
'
' Macro6 Macro
' Macro recorded 04/04/2006 by AVI06
'

Sheets('test1').Select
ActiveSheet.Shapes('ComboBox1').Select
Selection.Copy
Sheets('test').Select
Range('C6').Select
ActiveSheet.Paste
Range('C9').Select
ActiveSheet.Paste
Range('C12').Select
ActiveSheet.Paste
Range('C15').Select
ActiveSheet.Paste
Range('C18').Select
ActiveSheet.Paste

Dim combb1 As Object

With ActiveSheet
For i = .OLEObjects.Count To 1 Step -1
Set combb1 = .OLEObjects(i)
If combb1.Name = 'combobox1' Then combb1.Name = 'c_el_type'
If combb1.Name = 'combobox2' Then combb1.Name = 'c_mesh_type'
Next i
End With




Dim ctrl As OLEObject


Sheets('test').Select
With ActiveSheet
For i = .OLEObjects.Count To 1 Step -1
Set ctrl = .OLEObjects(i)
If Not ctrl.Name = 'c_el_type' And Not ctrl.Name = 'c_mesh_type' Then
ctrl.Delete
End If
Next i
End With


voili voilou.encore merki
 

Hervé

XLDnaute Barbatruc
re arno, charly

j'ai pas compris la finalité de ton projet, je me suis donc limité à rendre ton code opérationnel. :)


Sub Macro6()
Dim i As Integer

Sheets('test1').Shapes('ComboBox1').Copy
Sheets('test').Select
Range('C6').Select
ActiveSheet.Paste
Range('C9').Select
ActiveSheet.Paste
Range('C12').Select
ActiveSheet.Paste
Range('C15').Select
ActiveSheet.Paste
Range('C18').Select
ActiveSheet.Paste



With ActiveSheet
       
For i = .OLEObjects.Count To 1 Step -1
               
With .OLEObjects(i)
                       
Select Case .Name
                               
Case 'ComboBox1': .Name = 'c_el_type'
                               
Case 'ComboBox2': .Name = 'c_mesh_type'
                               
Case Else: .Delete
                       
End Select
               
End With
       
Next i
End With

End Sub


salut
 
A

arno

Guest
merci bcp c exactement ce que je voulais faire :) . parcontre je ne comprend pas pourquoi mes combobox ont gardé leur nom 'combobox1' et 'combobox2' lorsque je vais dans l onglet option des boites.
:unsure:
 

Discussions similaires

Réponses
6
Affichages
355

Statistiques des forums

Discussions
312 565
Messages
2 089 729
Membres
104 266
dernier inscrit
christian Auletta