Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Déplacer cellule après avoir caché des colonne sous conditions

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 !

flstyle

XLDnaute Nouveau
Bonjour à tous,



J’ai un souci avec mon code VBA, après beaucoup de tentatives je n'arrive pas à trouver la solution.

Je vous explique; je souhaite que l'utilisateur de ce tableau puisse à sa guise remplir "Oui", ou "Non" pour pouvoir remplir une partie du tableau.

Pour cela le code VBA fonctionne bien.
Dès que l'utilisateur sélectionne "Non", une partie se masque (et vis-versa).

Malheureusement une partie que je ne souhaite pas masquer le fait malgré elle (F4:M10).

Je souhaiterais que cette partie reste visible (au milieu de la feuille, comme avant si c'est possible; c'est ce qui ma poussé dans mon code ci-joint à le séparer dans mon .cut)

Voilà ce que j'ai déjà fait. Il me manque peu pour réussir, et je suis sure que vous pourriez m'aider.



Merci par avance.






Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

temp = Array("Oui", "Non")
  If Not Application.Intersect(Target, Range("E12:E12")) Is Nothing Then
  If Target.Count > 1 Then Exit Sub

    With Target
  p = Application.Match(Target, temp, 0)
  If Not IsError(p) Then
    If p = UBound(temp) + 1 Then p = 0
  Else
    p = 0
   
   
  End If
  Target = temp(p)
  End With
  End If

    If Range("E12") = "Oui" Then
Range(Cells(14, 6), Cells(109, 12)).EntireColumn.Hidden = False
    Else
Range(Cells(14, 6), Cells(109, 12)).EntireColumn.Hidden = True
    End If
  
      If Range("E12") = "Oui" Then
     
For i = 4 To 10 'pour i dont la valeur va de 4 à 10
    Range("F:I" & i).Select
    Selection.Cut
    Range("B:E" & i).Select
    ActiveSheet.Paste = False
    Else
     Range("F:I" & i).Select
    Selection.Cut
    Range("B:E" & i).Select
    ActiveSheet.Paste = True
   
   
    Next i 'incrémentation
   
     Range("J:M" & i).Select
    Selection.Cut
    Range("M:P" & i).Select
    ActiveSheet.Paste = False
    Else
    Range("J:M" & i).Select
    Selection.Cut
    Range("M:P" & i).Select
    ActiveSheet.Paste = True
   
   
   
    End If
    
     
End Sub
 

Pièces jointes

- 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

Discussions similaires

Réponses
7
Affichages
619
Réponses
8
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…