Petit souci avec excel

Résolu
Kep -  
 kep -
Bonjour a tous,
Je vous expose mon probleme j'aimerais incrementer une cellule avec les données d'autres cellules (ok c'est pas clair)
Bon exemple en
A1 il y a le chiffre 2
B1 est utilisé pour y mettre un autre chiffre (mais cette cellule change a chaque nouvelle frappe) et lorsque la donnée en B1 change j'aimerais que le chiffre en A1 s'incremente.
Cordialement
Mick



A voir également:

3 réponses

Syzygy Messages postés 378 Date d'inscription   Statut Membre Dernière intervention   144
 
Bonsoir,

Désolé, je ne suis pas sur de comprendre ce que vous voulez. En fait vous souhaitez ajoutez 1 à la valeur contenue dans la cellule A1 à chaque fois que vous modifiez la valeur en B1?

Si c'est çà, il sera nécessaire de passer par une macro.

Si ce n'est pas çà, il sera nécessaire d'expliquer plus précisément votre besoin et si possible de nous transmettre votre fichier à l'aide du site www.cijoint.fr

Bonne soirée,
0
Kep
 
Bonsoir Syzygy, c'est exactement ce que je veux faire mais a part les macros "enregistré" je suis un peu leger pour ce souci. Si vous pouvez m'aider cela serai sympa. Merci
0
Syzygy Messages postés 378 Date d'inscription   Statut Membre Dernière intervention   144
 
Bonsoir,

Ok alors pour celà ouvrez l'éditeur VBA d'Excel (VBE) en appuyant sur Alt + F11
Dans la sélectionnez le module contenant le code de la feuille ou vous voulez effectuer votre incrémentation automatique (Feuil1) dans la partie gauche du VBE.

Collez le code suivant dans votre module :

Private Sub Worksheet_Change(ByVal Target As Range)
'Cette macro s'exécute à chaque changement de valeur intervenant dans la feuille de calcul "Feuil1"

On Error GoTo Erreur

If Target.Address = "$B$1" Then 'Test si le cellule modifiée est la cellule "B1"
Range("A1").Value = Range("A1").Value + 1 'Rajoute 1 à la valeur contenue en "A1"
End If

Erreur:
End Sub

Et hop! Ca devrait marcher (pour peu que la valeur en A1 soit vide ou un nombre évidemment).

Bonne soirée,
0
Kep
 
bonjour Syzygy,
cela me plait beaucoup pour le resultat mais ce que j'ai oublié de te dire c'est que le resultat en A1 doit correspondre a la somme de A1 + la valeur de B1 (j' ai essayé de remplacer la valeur de la macro par $b$1 mais cela ne marche pas ) . Je peux inserer des colonnes car mon tableau resemble a ça :
A1 B1 C1
1 1 Paris
9 2 Noyelles
4 3 Englos
L'idée est lorsque efface la colone B et que je la remplace par une nouvelle serie de chiffre la valeur en A affiche le resulat de A+B. J'ai environ 30 lignes.
Merci beaucoup pour ton aide.
Bon dimanche
0
Syzygy Messages postés 378 Date d'inscription   Statut Membre Dernière intervention   144
 
Bonjour,

A oui mais là ce n'est plus du tout la même chose.

Essaye ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim NumeroLigne As Integer
Dim ValeurA As Double
Dim ValeurB As Double

On Error GoTo Fin

NumeroLigne = ActiveCell.Row
' Si vous validez vos enregistrements à l'aide de la touche "Entrée", décommentez la ligne ci-dessous.
'NumeroLigne = NumeroLigne - 1

If Target.Row = NumeroLigne And Target.Column = 2 Then
If IsEmpty(Range("C" & NumeroLigne).Value) Then 'Teste si la colonne C est vide. Si elle l'est n'effectue pas l'opération.

Else
ValeurA = Range("A" & NumeroLigne).Value 'Récupère la valeur de la cellule A
ValeurB = Range("B" & NumeroLigne).Value 'Récupère la valeur de la cellule B
Range("A" & NumeroLigne).Value = ValeurA + ValeurB 'Affecte la nouvelle valeur à la cellule A
End If
End If

Fin:
End Sub

Cette solution fonctionne uniquement si tu modifies une cellule à la fois et que tu valides à l'aide de la touche tabulation (ou entrée en décommentant la ligne indiquée).

Je n'ai pas trouvé mieux que çà pour le moment.

@+
0
kep
 
C'est génial. merci
dis moi lorsque je change dans la macro les valeurs A,B,C par d'autre colonne par exemple F,J,D cela ne fonctionne plus (je me bat avec depuis 1:2h ) ;-).
Mais c'est pas grave je m'adapte.
Merci encore
a+
0
Syzygy Messages postés 378 Date d'inscription   Statut Membre Dernière intervention   144
 
En modifiant le nom des colonnes, il faut effectivement modifier les lettres mais également cette ligne :

If Target.Row = NumeroLigne And Target.Column = 2 Then

Le test Target.Column = "Un chiffre" vérifie les coordonnées de la colonne. Le chiffre 1 équivaut à la colonne A, le 2 correspond à la colonne B...

Par exemple si tu veux réaliser la macro sur un changement de valeur en colonne D par exemple il faudra changer la ligne en :

If Target.Row = NumeroLigne And Target.Column = 4 Then

Bon après-midi,
0
kep
 
Ok merci
Cette fois c'est bon
A bientot pour d'autre pb.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour,

si on incrémente de la valeur en B1

une petite astuce-bidouille sans macro:

en A1 tu écris
=A1+B1
tu passe outre l'avertissement de référence circulaire

et avec XL2007
dans options xl - formules tu actives le calcul itératif avec un nbre maximum de 1
https://www.cjoint.com/?3IshPosUw3s
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour tout le monde,

et avec XL2007
dans options xl - formules tu actives le calcul itératif avec un nbre maximum de 1

A faire également sur 2003 dans 'outils / options...' onglet 'calcul'

eric
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
kep, on sent le fromage ?
C'est dingue de devoir rappeler la coutoisie minimum...
0
kep
 
Salut ,
excusez moi messieurs mais je viens juste de voir vos messages. Je debute sur le forum, j'étais concentré sur les messages de Syzygy.
Bon dimanche a tous
0
Kep
 
bonjour Michel,
J'admet que c'est pas mal.(mais comment remettre a zero la colonne A sans devoir retaper la formule).
Encore une fois desolé pour la non reponse de ma part.
Cordialement
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Tu as le droit de saisir des nombres négatifs...
Mais attention si tu ne vide pas B1 avant une action ailleurs sur la feuille.
Chaque recalcul de la feuille t'additionne la valeur B1 en A1
eric
0