Additionner 4 à toutes les cellules

J

Jean-François

Guest
Bonjour à tous,

Celà fait quelques temps que je fais des recherches dans le forum ainsi que dans les utilitaires et macro, mais voilà, je n'y arrive pas.

Détail du problème:
Je reçois un fichier Excel chaque semaine avec des champs texte et monétaire. Je veux sélectionner des champs monétaire pour qu'ils soient additionnés par 4 ou 5.

Exemple : J'ai 250 $ dans une cellule, et je veux que le résultat soit 254 $

Le fichier peut-être différent d'une fois à l'autre. Les cellules monétaires ne sont pas toujours au même endroit d'une fois à l'autre.

Idéalement, j'aimerais sélectionner des cellules (avec la touche CTRL par exemple) et effectuer une fonction permettant d'additionner 4 à toutes les cellules sélectionnées.

Pour l'instant, je change les champs monétaires manuellement, ce qui est un travail très fastidieux.

Je suis loin d'être un pro d'Excel 2000, mais il me semble qu'il doit être possible d'en arriver à un tel résultat.

J'ai essayer la macro JWalk Cellmath mais j'ai droit à une erreur VB 94 pour "utilisation incorrecte de NULL"...

Merci de votre aide qui me sera très précieuse,

@+
J-F
 
T

Temjeh

Guest
Bonsoir J.F.

J'ai un bout de la réponse

Tu sélectionnes et ca ajoute quatre à chaque cell dans sélection

Sub Plus_quatre()
For Each cell In Selection
cell.Value = cell.Value + 4
Next cell
End Sub

A++

Temjeh
 
M

myDearFriend

Guest
Bonsoir Jean-François, Temjeh,


Tu peux peut-être faire un essai avec la macro suivante :

Sub Addition()
Dim Plage As Range
Dim Cellule As Range
   Application.ScreenUpdating = False
   'Détermine la plage à traiter (cellule avec valeurs numériques)
   Set Plage = ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 1)
   For Each Cellule In Plage
      'Vérifie qu'il s'agit bien d'un format monétaire avec le signe "$" et ajoute 4
      If InStr(1, Cellule.NumberFormatLocal, "$", 1) > 0 Then
         Cellule.Value = Cellule.Value + 4
      End If
   Next Cellule
   Application.ScreenUpdating = True
End Sub


Cordialement.

Didier_mDF
myDearFriend-3.gif
 
T

Temjeh

Guest
Oups encore moi

Juste au cas ou il il aurais par erreur du texte dans une de tes cells ca empèche le débogeur:

Sub Plus_quatre()
On Error Resume Next
For Each cell In Selection
cell.Value = cell.Value + 4
Next cell
End Sub

Temjeh
 

Discussions similaires

Statistiques des forums

Discussions
312 836
Messages
2 092 631
Membres
105 475
dernier inscrit
ramzi slama