Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2012, 13h10   #1
Invité de passage
 
Homme
Ingénieur des mines
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Burkina Faso

Informations professionnelles :
Activité : Ingénieur des mines
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 0
Points : 0
Par défaut Fonction VBA pour un classeur excel

Bonjour a tous
J'ai besoin de votre aide pour ecrire une function VBA utilisable dans un classeur excel.
j'ai 3 colonne A, B et C
je voudrais que pour la ligne i par exple:
que la function compare Ai et Ai-1
si Ai =Ai-1 alors
si Bi-1<Bi<Ci-1 on accepte la valeur entrer en Bi
sinon on affiche un message et on efface Bi
sinon on accept la valeur entrer en Bi
Cette fonction permettra de s'assurer qu'il n'y pas de chevauchement entre les intervall saisi.
les colonnes B et C representent les extremintes des intervalles et A la famille a laquelle appartiennent ces intervalles.
une famille peux avoir plusieurs intervalles.
les colonne B et C contiennent des nombre decimaux
je compte bcp sur votre aide.
Merci d'avance
dtsoro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 16h18   #2
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 55
Détails du profil
Informations personnelles :
Âge : 53

Informations forums :
Inscription : juin 2007
Messages : 55
Points : 30
Points : 30
Bonjour;

Un exemple ne serai pas de trop

A+
spoyet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 19h32   #3
Membre chevronné
 
Avatar de defluc
 
Architecte
Inscription : mai 2002
Messages : 1 057
Détails du profil
Informations personnelles :
Âge : 62

Informations professionnelles :
Activité : Architecte

Informations forums :
Inscription : mai 2002
Messages : 1 057
Points : 745
Points : 745
Salut,

Si je comprends bien, la fonction doit attribuer sa valeur à la colonne B.

La fonction retournant toujours une valeur, même nulle, je testerais cette valeur plutôt qu'envoyer une message.

A part cela, voici un exemple correspondant à ce que tu attends avec les limites des renseignements fournis, donc très imparfaite.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
Function Test() As Double
Dim R As Integer
  R = ActiveCell.Row
  If Cells(R, 1) = Cells(R - 1, 1) Then
    If Cells(R, 2) > Cells(R - 1, 2) And _
       Cells(R, 2) < Cells(R - 1, 3) Then
      Test = Cells(R, 2)
                                     Else
      Cells(R, 2) = ""
    End If
  End If
End Function
defluc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 21h28   #4
Invité de passage
 
Homme
Ingénieur des mines
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Burkina Faso

Informations professionnelles :
Activité : Ingénieur des mines
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 0
Points : 0
Par défaut Precision

Merci le lefluc je vais essayer ta proposition et je donnerais la suite.
en attendant voici un exemple de ce que je voudrais eveiter par cette fonction

A B C
d 12 14
d 13 15
d 17 18
d 18 20
d 18 21
f 34 35
f 36 33

je voudrais que cette fonction me permette d’éviter les chevauchements d'intervalles. ces intervalles n'ont pas la mémé amplitude et ne sont pas consécutifs
Merci
dtsoro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h52.


 
 
 
 
Partenaires

Hébergement Web