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

[VBA] Sélection Colonnes

  • Initiateur de la discussion Initiateur de la discussion Maivas
  • 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

Maivas

Guest
Bonjour,

Je voudrais contraindre l'utilisateur d'un fichier à sélectioner (Une fois l'inputbox affiché par macro) uniquement des colonnes.
C'est à dire qu'il ne peut que sélectioner $N:$AN et non $N1:$AN21.

Avez-vous une petit idée.

Merci
Code:
Sub SelectionPlageAvecSouris()
        Dim Plage As Range
        On Error Resume Next
        Set Plage = Application.InputBox("Sélectionnez la plage de reprévision (27 Colonnes)", "Sélection de cellules", Type:=8)
        MsgBox ("La plage que vous avez séléctionnez est : " & Plage.Address)
End Sub
 
Re : [VBA] Sélection Colonnes

Bonjour

Une piste

Vérifier si dans Plage.Address on trouve une valeur numérique
Code:
for i = 1 to len(Plage.Address)
if isnumeric(mid(Plage.Address,i,1)) then
  msgbox " erreur "
  exit sub
end if
next i

A tester

JP
 
Dernière édition:
Re : [VBA] Sélection Colonnes

Ouaih...

Je pensais plus à une sélection qui était bloquée uniquement sur les colonnes (C'est à dire quand sélectionnant une cellue A1 cela se transforme automatiquement en A:A et si l'utilisateur sélectionne correctement A:A cela reste A:A) et pas à une vérification du contenu sélectionné.
Le mieux serait une zone de sélection bornée aux colonnes!
Mais si je n'ai pas le choix...

Merci
 
Re : [VBA] Sélection Colonnes

Bonjour

Le plus simple est de supprimer les valeurs numériques, en utilisant le même principe.

Code:
If IsNumeric(Mid(Plage.Address, i, 1)) Then
            Else
          Data1 = Data1 & Mid(Plage.Address, i, 1)
        End If
        Next i
       Set Plage1 = Sheets(Plage.Worksheet.Name).Range(Replace(Data1, "$", ""))
       
        MsgBox ("La plage que vous avez séléctionnez est : " & Plage1.Address(0, 0))
et réaffecter la plage en donnant la valeur dans data1.

JP
 
Dernière édition:
- 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

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Réponses
3
Affichages
879
Réponses
7
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…