Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3104 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Excel] Afficher message lorsque ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA Excel] Afficher message lorsque ...

n°2051521
Blue Cactu​s
Posté le 24-01-2011 à 21:56:44  profilanswer
 

Bonjour tout le monde,
 
Une quiche en VBA ...
Comment faire pour afficher un message au lancement d'une macro lorsqu'il n'y pas de ligne entière sélectionnée dans le fichier ouvert et l'onglet affiché ? J'ai tenté du If , du EntireRow et du Msgbox sans succès ...  
 
 :??:  

mood
Publicité
Posté le 24-01-2011 à 21:56:44  profilanswer
 

n°2052086
SuppotDeSa​Tante
Aka dje69r
Posté le 26-01-2011 à 16:29:03  profilanswer
 

[:bugkiller2]  
 
Rien compris...
 
Explique explicitement ce que tu souhaites faire...


---------------
Soyez malin, louez entre voisins !
n°2052484
Blue Cactu​s
Posté le 27-01-2011 à 20:40:17  profilanswer
 

Ah... Voilà la macro et en rouge le code qui me pose problème :
 
Sub macroZ()
 
'permet de remplacer du texte ou un n° par la valeur de la 1ere cellule de chaque ligne dans les formules de cette même ligne
     
    If Selection.EntireRow.Count = 0 Then
 
            MsgBox (" Sélectionnez une ou plusieurs lignes " )
 
       Else
         
            For Each Rw In Selection.Rows
 
                Rw.Replace What:="text1", Replacement:=Rw.Cells(1).Value
     
            Next Rw
         
            MsgBox (" mise à jour effectuée avec succès " )
     
    End If
 
 
End Sub
 
 
Pour Selection.EntireRow.Count = 0,
en fait, même si une ou plusieurs cellules sont sélectionnées, sans sélection de ligne entière donc (sélection d'une ligne entière : en cliquant complètement à gauche d'une ligne), Excel intégre quand même la ligne utilisée par la cellule. Selection.EntireRow.Count = 0 n'est donc jamais égale à 0 alors que je voudrais signaler l'absence de ligne entière sélectionnées...  :pt1cable:  
 
Une idée ?

n°2052621
SuppotDeSa​Tante
Aka dje69r
Posté le 28-01-2011 à 11:16:36  profilanswer
 

Hello
 
Je n'ai pas cherché plus que ca, mais a ma connaissance tu ne peux pas detecter (simplement) si une ligne est sélectionnée.
Quand tu cliques sur une ligne ce n'est qu'un "raccourci" pour dire que tu sélectionnes de la colonne 1 à 256 (sur Excel 2003) ou de la colonne 1 à 16384 (sous Excel 2007)
 
On peut toujours jouer sur ce que renvoie la selection etc. mais bon je pense que ce qui suit est plus simple.
 
 

Code :
  1. Sub Blue_Cactus()
  2.  
  3. 'On regarde la version d'Excel
  4. Version = CInt(Mid(Application.Version, 1, InStr(1, Application.Version, "." ) - 1))
  5.  
  6. 'On compte le nb de colonnes selectionées
  7. CpteCol = Selection.Columns.Count
  8.  
  9. 'En fonctin de la version et du nombre de colonnes selectionnées on en deduit si une ligne entiere est selectionnee ou pas
  10. If (CpteCol = 256 And Version <= 11) Or (CpteCol = 16384 And Version > 11) Then MsgBox "toto"
  11. 'Si oui on envoie un message "toto"
  12.  
  13. End Sub


Message édité par SuppotDeSaTante le 28-01-2011 à 11:17:44

---------------
Soyez malin, louez entre voisins !
n°2052698
Blue Cactu​s
Posté le 28-01-2011 à 14:18:16  profilanswer
 

Je pense que ça va coller parfaitement à mon besoin. Super ! Merci beaucoup ! :-D

n°2052701
SuppotDeSa​Tante
Aka dje69r
Posté le 28-01-2011 à 14:37:58  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Excel] Afficher message lorsque ...

 

Sujets relatifs
[VBA Excel] MacroAjouter un champ DE lors d'un envoi de mail en VBA ?
Détection d'un séparateur de colonne quelconque (VBA Excel)[VBA WORD] Liste deroulante avec source Excel
Afficher données dans jtext par rapport sélectio nom et prénom javaExcel 07 / Copier coller dans des sheets
Plus de sujets relatifs à : [VBA Excel] Afficher message lorsque ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR