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

rajout d'un controle dans macro vba

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

boudu

XLDnaute Occasionnel
Bonjour au forum
J'ai déjà été aidé sur ce fichier par plusieurs personnes du forum, en particulier par Mydearfriend qui m'a proposé du code pour effacer des lignes inutiles dans les onglets. En principe, il doit y avoir au moins une ligne remplie mais j'ai quand meme eu des personnes qui ont essayé de lancer la macro suppressionlignes sans avoir rempli la moindre ligne
Je souhaiterais rajouter un controle qui fasse apparaitre une boite de dialogue avec un message du genre "Tableau vide, il faut remplir au moins une ligne"
Je joins le fichier
Merci d'avance
 

Pièces jointes

Re : rajout d'un controle dans macro vba

Bonsoir Boudu, le Forum,

Vite fait, en passant... (et si j'ai bien compris !) :
Code:
[SIZE=2][COLOR=GRAY][B][I]DANS UN MODULE DE CODE STANDARD[/I][/B][/COLOR]

[COLOR=NAVY]Option Explicit
Option Private Module[/COLOR]

[COLOR=NAVY]Sub[/COLOR] SupprLignVide()
[COLOR=GREEN]'myDearFriend! - Octobre 2006[/COLOR]
[COLOR=NAVY]Dim[/COLOR] Zone [COLOR=NAVY]As[/COLOR] Range, Plage [COLOR=NAVY]As[/COLOR] Range, L [COLOR=NAVY]As[/COLOR] Range
    [COLOR=NAVY]With[/COLOR] ActiveSheet
        [COLOR=NAVY]Set[/COLOR] Zone = Application.Intersect(.UsedRange, Rows("11:65536"))
[B]        [COLOR=NAVY]If[/COLOR] Zone.Rows.Count = 2 And Application.CountBlank(.Range("A10:O10")) = 15 [COLOR=NAVY]Then[/COLOR]
            MsgBox "Tableau vide, il faut remplir au moins une ligne !"
            [COLOR=NAVY]Exit Sub
        End If
[/COLOR][/B][COLOR=NAVY]        For Each[/COLOR] L [COLOR=NAVY]In[/COLOR] Zone.Rows
            [COLOR=NAVY]If[/COLOR] Application.CountBlank(L.Range("A1:O1")) = 15 [COLOR=NAVY]Then
                If[/COLOR] Plage [COLOR=NAVY]Is Nothing Then
                    Set[/COLOR] Plage = L
                [COLOR=NAVY]Else
                    Set[/COLOR] Plage = Union(Plage, L)
                [COLOR=NAVY]End If
            End If
        Next[/COLOR] L
        [COLOR=NAVY]If Not[/COLOR] Plage [COLOR=NAVY]Is Nothing Then[/COLOR] Plage.EntireRow.Delete
    [COLOR=NAVY]End With
End Sub[/COLOR]

[COLOR=NAVY]Sub[/COLOR] AjouteLigne()
[COLOR=GREEN]'myDearFriend! - Août 2006[/COLOR]
[COLOR=NAVY]Dim[/COLOR] Plage [COLOR=NAVY]As[/COLOR] Range
[COLOR=NAVY]Dim[/COLOR] L [COLOR=NAVY]As Long
    With[/COLOR] ActiveSheet
        [COLOR=NAVY]Set[/COLOR] Plage = .Rows(.Range("A65536").[COLOR=NAVY]End[/COLOR](xlUp).Row)
        Plage.Copy
        .Rows(Plage.Row + 1).Insert shift:=xlDown
        Application.CutCopyMode = [COLOR=NAVY]False
        On Error Resume Next[/COLOR]
        .Rows(Plage.Row + 1).Cells.SpecialCells(xlCellTypeConstants, 23).ClearContents
    [COLOR=NAVY]End With
End Sub[/COLOR][/SIZE]
Par ailleurs, en utilisant Option Private Module en entête de module, tu caches tes procédures sans avoir à utiliser un argument optional "bidon" pour obtenir le même résultat...

Cordialement,
 
Re : rajout d'un controle dans macro vba

Merci MyDearFriend
excuse moi pour le temps de réaction mais comme j'ai vu que ça n'inspirait pas grand monde (alors que le code est super interessant et fait vraiment mon affaire)j'avais un peu laché l'affaire. A part ça, c'est exactement ce qu'il me faut (sans compter les manips que j'ignore completement en vba)
Bonne continuation à toi et au forum
 
- 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

S
Réponses
13
Affichages
2 K
sanae_J
S
M
Réponses
6
Affichages
1 K
maxime45
M
H
Réponses
21
Affichages
3 K
H
C
Réponses
4
Affichages
2 K
clem!
C
D
Réponses
49
Affichages
9 K
D
N
Réponses
2
Affichages
2 K
Nicolaij74
N
C
Réponses
3
Affichages
2 K
claivier_58
C
A
Réponses
1
Affichages
973
D
Réponses
5
Affichages
1 K
Dimebag
D
K
Réponses
0
Affichages
3 K
K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…