A voir également:
- Tableur référence circulaire
- Reference pto - Accueil - Box & Connexion Internet
- Tableur gratuit - Télécharger - Tableur
- Somme tableur - Guide
- Tableur open office - Télécharger - Suite bureautique
- Moyenne tableur - Guide
2 réponses
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
31 oct. 2010 à 21:35
31 oct. 2010 à 21:35
Bonjour,
Et de quel calcul s'agit-il ?
Et de quel calcul s'agit-il ?
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
1 nov. 2010 à 21:48
1 nov. 2010 à 21:48
Bonjour,
Voici le code selon se que j'ai compris:
Je vous rapelle ceci : votre procédure [SelectionChange] se déclenche sur toutes les cellules, ce qui n'est pas correct ( je ne l'ai pas modifié)
Voici le code selon se que j'ai compris:
Je vous rapelle ceci : votre procédure [SelectionChange] se déclenche sur toutes les cellules, ce qui n'est pas correct ( je ne l'ai pas modifié)
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim a As Range Dim co As Long, li As Long, resu As Long Application.ScreenUpdating = False ' boucle sur colonne C et D For co = 3 To 4 ' boucle pour les lignes 10 à 40 For li = 10 To 40 For Each a In Range("X" & li & ":CD" & li) If a = Cells(9, co) And a.Interior.ColorIndex = Cells(9, co).Interior.ColorIndex Then resu = resu + 1 End If Next Cells(li, co).Value = resu: resu = 0 Next li Next co Application.ScreenUpdating = True End Sub
Modifié par crimoilefort le 1/11/2010 à 12:49
Je voudrais savoir comment on fait une rotation circulaire de cellules de lignes en lignes.
J'aimerai pouvoir incrémenter les cellules (Cells(NumLig, NumCol) une fois que j'ai obtenu mon résultat (petit programme qui tourne déjà). En fait, en premiére opération j'effectue un test sur une ligne (x10;cd10) par rapport à une cellule de référence (C9), le résultat de ce test va en cellule C10 puis aprés je dois effectuer ce même test (toujours la même cellule de référence C9) mais en (x11;cd11) pour ranger le résultat en C11 et ainsi de suite, jusqu'en C40. Cette opération sera identique pour les cellules E10 sachant que la cellule de référence devient E9 et devra se poursuivre jusqu'en E40.
Je te joins mon programme qui tourne déjà:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim a As Range
Dim mon_1 As Double
Application.Volatile True
For Each a In [x10:Cd10]
If a = [C9] And a.Interior.ColorIndex = [C9].Interior.ColorIndex Then
mon_1 = mon_1 + 1
Else: mon_1 = 0
End If
Next
[c10] = mon_1
End Sub
Merci de votre aide
crimoilefort
Modifié par Le Pingou le 1/11/2010 à 17:54
Mais, ce poste est identique à https://forums.commentcamarche.net/forum/affich-19669086-faire-une-boucle-de-cellules#1
Est-ce correct ?
Au passage votre procédure se déclenche sur toutes les cellules, ce qui n'est pas correct et en plus votre variable [mon_1] est remise à zéro si une cellule ne satisfait pas au contrôle se qui est bizarre ...!
Salutations.
Le Ping
1 nov. 2010 à 17:25
@+
crimoilefort
1 nov. 2010 à 17:55
Merci de revoir encore une fois https://forums.commentcamarche.net/forum/affich-19670676-tableur-reference-circulaire#3
Salutations.
Le Ping
1 nov. 2010 à 18:25
Le problème c'est que cette fonction range toutes les informations dans la même cellule, alors que moi je désire faire le test sur une plage de la ligne 10 pour ranger le résultat en C10, puis faire le même test mais sur une plage identique mais en ligne 11 pour le ranger dans la cellule de dessous (en C11), ainsi de suite jusqu'en C40. Aprés cela, je dois procéder de la m^me façon mais en changeant de colonne de référence (D9) pour effectuer ce même test pour placer le résultat en D10 (plage de la ligne) pour finir, aprés avoir effectuer ce même test jusqu'en colonne T et derniére cellule 40.
Si quelqu'un peut m'aider.
Merci à vous !
crimoilefort