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

Microsoft 365 Remplacement des cellules non vides par contenu d'une colonne

SwimCoachNico79

XLDnaute Occasionnel
Bonjour le forum,

Dans le tableau joint je cherche à remplacer ligne par ligne toutes les cellules non vides (où identifiées par "1") de mes 35 colonnes par le code contenu dans la colonne "A".

Exemple :
ligne 2 modifier toutes les cellules non vides (où identifiées par "1") par AAA_01
ligne 22 modifier toutes les cellules non vides (où identifiées par "1") par BBB_14
et ainsi de suite.

Infos :
Le nombre de ligne peut augmenter et le nombre de cellules non vides (où identifiées par "1") par ligne peut être soumis à changement.

Est-ce possible par une formule ? Un code VBA ?

SCN79
 

Pièces jointes

  • Exemple.xlsx
    26.4 KB · Affichages: 13

Staple1600

XLDnaute Barbatruc
Bonjour,

Si j'ai bien compris
VB:
Sub Macro4()
Dim rng As Range
Application.ScreenUpdating = False
Set rng = Range("B2:AI156").SpecialCells(xlCellTypeConstants, 1)
rng.FormulaR1C1 = "=RC1"
Range("B2:AI156") = Range("B2:AI156").Value
End Sub
 

SwimCoachNico79

XLDnaute Occasionnel
Merci bcp Staple1600.
Dernière chose, comment écrire le code si plus de 156 ligne à mon tableau ? Faut il que je modifie le code à chaque fois où y a t il une possibilité d'intégrer une code qui prend jusque à la dernière ligne non vide (code de colonne A par exemple) ?
SCN79
 

Staple1600

XLDnaute Barbatruc
Re

Essaies avec cette variation
VB:
Sub Macro5()
Dim rng As Range, p As Range
Set rng = Cells(1).CurrentRegion
Set p = rng.Offset(1, 1).Resize(rng.Rows.Count - 1, rng.Columns.Count - 1)
p.SpecialCells(xlCellTypeConstants, 1).FormulaR1C1 = "=RC1"
p = p.Value
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…