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

Si cellule non vide alors remplir cellule voisine

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

fx62

XLDnaute Junior
Bonjour le forum,

J'ai réussi, avec l'aide du forum, à créer une macro effectuant ceci :
  • Si C1 est remplie alors ne rien faire
  • Si C1 est vide et si A1 est remplie, alors remplir cellule C1 avec "RAS"

Je voudrais effectuer ceci sur une sélection (ex : A1 jusque A20).
J'avais essayer en remplaçant Range("A1") par Range("A1:A20") mais cela n'a pas fonctionné.

Je mets en pièce jointe un fichier simplifié pour exemple.

PS : J'utilise des cellules fusionnées, peut-être cela crée des problèmes ... je ne sais pas !

Merci pour votre aide,

fx62
 

Pièces jointes

Re : Si cellule non vide alors remplir cellule voisine

Bonjour Fx, bonjour le forum,

peut-être comme ça :
Code:
Sub Cellule_non_vide_test()
For Each cel In Sheets("Feuil1").Range("A1:A20")
    If cel.Offset(0, 2).Value = "" And cel.Value <> "" Then
        cel.Offset(0, 2).Value = "RAS"
    End If
Next cel
End Sub
 
Re : Si cellule non vide alors remplir cellule voisine

Robert,

Tout d'abord merci de ta réponse et désolé de n'avoir pu donner un retour plus tôt !

Ton code fonctionne parfaitement lorsque mes colonnes A et B ne sont pas fusionnées. Or j'ai besoin que ces deux colonnes soient fusionnées !
Ce qui me surprend le plus, c'est que mes colonnes C et D peuvent rester fusionnées, cela ne pose pas de problème.

Saurais-tu comment pallier à ce problème ?

Encore merci,
fx62
 
Dernière édition:
Re : Si cellule non vide alors remplir cellule voisine

Bonjour Fx, bonjour le forum,

Avec les cellules fusionnées :
Code:
Sub Cellule_non_vide_test()
For Each cel In Sheets("Feuil1").Range("A1:A20")
    If cel.Offset(0, 1).Value = "" And cel.Value <> "" Then
        cel.Offset(0, 1).Value = "RAS"
    End If
Next cel
End Sub
 
Re : Si cellule non vide alors remplir cellule voisine

Un grand merci Robert, cela fonctionne à la perfection.
J'aurais encore appris un nouveau code aujourd'hui grâce à toi. En effet je ne connaissais pas la fonction cel.Offset(ligne,colonne).
Encore merci et à bientôt,
fx62
 
- 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
4
Affichages
526
Réponses
6
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…