mettre une formule dans toutes les cellules vides d'une sélection - VB/VBA/VBS - Programmation
Marsh Posté le 13-04-2017 à 10:24:00
Bonjour,
j'ai un peu de mal avec la présentation et conformément aux règles de ce forum, merci d'utiliser l'icône dédiée au code !
J'espère qu'il n'y a pas beaucoup de lignes à traiter car activer & sélectionner est inutile sauf pour ralentir un processus ‼
Autant travailler directement avec les objets pointant sur une cellule ou une plage. A lire …
Sinon comme son nom l'indique pourtant bien la propriété Value sert uniquement à affecter une valeur, pas une formule ‼
Rien qu'en consultant l'aide VBA interne …
Pour une formule, voir du côté des propriétés Formula (nativement en anglais), FormulaLocal (langue de la version d'Excel), …
Et il y a une erreur dans la syntaxe de la formule ! Comparer avec une formule entrée manuellement dans une cellule et fonctionnelle …
Consulter aussi l'aide VBA interne concernant la méthode SpecialCells …
Marsh Posté le 13-04-2017 à 11:47:38
Discussion en fait ouverte sur plusieurs forums, commencer déjà par consulter les règles de ce forum ‼
Marsh Posté le 13-04-2017 à 08:55:47
Salut à tous,
J'ai un peu de mal avec une macro. Elle doit faire :
Tu démarres du bas pour atteindre la 1ère cellule non vide, tu décales vers la droite de X colonne.
Dans cette colonne tu prends la cellule sélection jusqu'à la cellule 2 = la sélection
Dans cette sélection tu insères dans toutes les cellules vides une formule rechercheV.
Voici ce que j'ai fais, mais il ne prends pas la sélection et du coups je ne sais pas si le reste est correcte
Sub test()
Windows("Regroupement fichiers annonce Ford.xlsm" ).Activate
'Démarre Bas jusqu'à 1ere ligne non vide puis redescends sur la 1ère vide en dessous de la Col C et tu là sélectionnes
Dim DernLig As Long
DernLig = Range("C" & Rows.Count).End(xlUp).Row
Range("C" & DernLig).Select
'Décale la sélection de col C à col O
ActiveCell.Offset(0, 12).Select
'Insertion "Date Pochette" RechercherV si cellule Vide
Range("O2:O" & ActiveCell.End(xlDown)).Select
For Each MaCellule In Selection
If MaCellule.Text = Empty Then MaCellule.Value = "=VLOOKUP(RC[-12],[Papier reçu loueur.xlsx]'Intégration'!R2C2:R65000C3,2,False)"
Next MaCellule
'Copier / collage spécial Colonne O
Columns("O:O" ).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1" ).Select
Application.CutCopyMode = False
End Sub
Merci d'avance