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

L

laoulou

Guest
Bonjour

j'ai un tableau qui me trote dans la tete depuis un moment, et ce que j'aimerais faire entre autres c'est une fonction si qui ressemble à ça :

Si("la cellule est vide";"passer à la suivante";"la copier")

en fait ce que je cherche à faire c'est ne pas copier une cellule vide et je n'y arrive pas donc je vous demande de l'aide et si je n'y arrive pas ou que cela se revele impossible j'aimerais connaitre la formule pour dire :

Si("la cellule est vide";"la masquer";"")

Merci par avance.
 
Salut Laoulou,

D'après ce que tu décris, ce n'est une fonction qu'il te faut mais une procédure (autrement dit une macro).

La différence entre les deux est importante :
- Une fonction (Function) donne une valeur dans la cellule où elle est appelée
- Une procédure (Sub) effectue une action ou une série d'actions.

Pour t'aider, il faudrait que tu nous montres quelques éléments concrets de ton tableau.

A+
LN
 
Bonjour tout le monde !

Je te propose d'ajouter un bouton de commande "Remise Chèques" sur la feuille Janvier pour effectuer le traitement :

Private Sub CommandButton1_Click()
Dim CL As Range
Dim Ligne As Long
Ligne = 20
'Effacement de la plage de destination
Sheets("ChqBk1").Range("A21😀48").ClearContents
'Test de la colonne H
For Each CL In Range("H2:H101")
If CL = "Chèque" Then
'Report des données dans la feuille ChqBk1
Ligne = Ligne + 1
With Sheets("ChqBk1")
.Range("A" & CStr(Ligne)) = CL.Offset(0, 1)
.Range("B" & CStr(Ligne)) = CL.Offset(0, -5)
.Range("C" & CStr(Ligne)) = CL.Offset(0, 2)
.Range("D" & CStr(Ligne)) = CL.Offset(0, 3)
End With
End If
Next
End Sub

Et ça roule !
A+
LN
 

Pièces jointes

merci pour toutes les solutions d'un coup 🙂
merci monique ton fichier est super complet (quand est ce qu'on se fait une bouffe ?) lol
Merci lord nelson ton fichier et ta technique son sans faille (je vais pas t'inviter à diner, ne soit pas jaloux, mais habituellement je ne drague pas les hommes) mdr
Merci chris je pense que ta solution est aussi efficace mais je ne connaissais pas (c'est pas pour ça que je ne vais pas m'y interresser 🙂

En gros merci à toute(s) (sans "s") et à tous je ne manquerais pas d'eplucher vos technique 🙂

je vois que j'ai encore des progrés à faire sur excel.

Thanks a lot
 
Salut Laoulou,

Pour modifier le bouton de commande, tu affiches la barre d'outils "Boite à outils Contrôles" puis tu cliques sur l'icône "Mode création" (un triangle vert). En mode création, tu peux cliquer sur le bouton sans lancer la macro et ouvrir sa fenêtre de propriétés avec un clic droit.

Les modifications faites, tu cliques sur "Désactiver le mode création".

A+
LN
 
Macro excel

Bonjour mes informaticiens favoris,
Voilà mon souci, j’ai réalisé une macro me permettant d’écrire sur une feuille Excel par le biais d’une UserForm.
Jusque là rien de sorcier. Mais mon problème c’est que une fois après avoir validé mon texte, il reste dans ma UserForm.
Je ne connais pas la formule pour l’effacer.
Dans l’attente cordialement dmode.

Private Sub CommandButton1_Click()
Sheets("feuil2").Select
If Range("A2").Value = "" Then
Décalage = 0
Range("A2").Select
Else
Décalage = 1
Position = Range("A1").End(xlDown).Address
Range(Position).Select
Range("A1").End(xlDown).Select
End If
ActiveCell.Offset(Décalage, 0).Range("a1").Select
ActiveCell.Value = TextBox1
Sheets("feuil2").Select

End Sub

Private Sub UserForm_Activate()
SaisirNom = Range("A1").End(xlDown).Address
TextBox1.RowSource = "A1:" & SaisirNom
TextBox1.ListIndex = 0
End Sub
 

Pièces jointes

Macro excel

Bonjour mes informaticiens favoris,
Voilà mon souci, j’ai réalisé une macro me permettant d’écrire sur une feuille Excel par le biais d’une UserForm.
Jusque là rien de sorcier. Mais mon problème c’est que une fois après avoir validé mon texte, il reste dans ma UserForm.
Je ne connais pas la formule pour l’effacer.
Dans l’attente cordialement dmode.

Private Sub CommandButton1_Click()
Sheets("feuil2").Select
If Range("A2").Value = "" Then
Décalage = 0
Range("A2").Select
Else
Décalage = 1
Position = Range("A1").End(xlDown).Address
Range(Position).Select
Range("A1").End(xlDown).Select
End If
ActiveCell.Offset(Décalage, 0).Range("a1").Select
ActiveCell.Value = TextBox1
Sheets("feuil2").Select

End Sub

Private Sub UserForm_Activate()
SaisirNom = Range("A1").End(xlDown).Address
TextBox1.RowSource = "A1:" & SaisirNom
TextBox1.ListIndex = 0
End Sub
 
- 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

Réponses
14
Affichages
225
Réponses
5
Affichages
134
  • Question Question
Réponses
2
Affichages
103
  • Question Question
Microsoft 365 Formule excel
Réponses
7
Affichages
224
Réponses
1
Affichages
222
Retour