Forums XLPages

Tous les messages (Eric)

« 1 ... 11 12 13 14 15 »
Re: Intégrer Macro SaveAsPDF
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 07-11-2009 15h54
Bonjour à tous
Bonjour Mth, MdF

Merci pour le lien, merci pour le fichier

Bon WE

Eric
Hors Ligne
Rapport   Haut 

Re: Intégrer Macro SaveAsPDF
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 06-11-2009 21h59
Bonsoir à tous
Bonsoir Antonio, Mth et MdF

Antonio te serait-il possible de déposer ton fichier en .xls ? n'ayant pas 2007, je ne peux le lire.

Merci d'avance

Eric
Hors Ligne
Rapport   Haut 

Re: Aide sur code
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 02-07-2009 23h33
Bonsoir à tous
Bonsoir Kelly

Avec un peu de retard, voici en plus clair, ce que je t'ai dit :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1).Value = "" Then Exit Sub

ma_feuille = ActiveSheet.Name
macol = Target.Column
maligne = Target.Row
valeur_cellule = Target.Value

if (maligne+1) mod 5 = 0 then materiel

End Sub
si tu n'avais pas trouvé

Pour la réponse à ma question, c'est très clair

Eric
Hors Ligne
Rapport   Haut 

Re: Aide sur code
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 25-06-2009 22h48
Bonsoir à tous
Bonsoir Kelly

Avec du retard pour une réponse, désolé.

Je n'ai pas trop le temps pour l'instant, mais dès que cela se calme, je te proposerais quelque chose.

Tu auras peut être de l'aide d'une autre personne avant, sinon je ne te laisse pas tomber

Juste une idée, il suffit peut être de tester dans la "private sub Worksheet_Change" la ligne en question avec  : si (numligne+1) Mod 5 = 0 on exécute

Par contre j'ai vu un autre pb : 2 personnes peuvent-elles avoir le même matériel le matin, mais à des heures différentes ? si oui le code ne fonctionne pas correctement

Bonne soirée à tous

Eric

Hors Ligne
Rapport   Haut 

Re: Aide sur code
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 15-05-2009 21h58
Bonsoir à tous
Bonsoir Kelly

Je n'étais pas très content de ma réponse d'hier, je te propose donc un petit fichier. Attention il faut recopier le :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
mavaleur = ActiveCell.Value
End Sub
ainsi que :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1).Value = "" Then Exit Sub

ma_feuille = ActiveSheet.Name
macol = Target.Column
maligne = Target.Row
valeur_cellule = Target.Value

materiel

End Sub
pour toutes les feuilles

Eric




Pièce jointe:
zip Réservation_salles_réunions_eric_03.zip   [ Taille: 42.11 Ko - Téléchargements: 505 ]
Hors Ligne
Rapport   Haut 

Re: Aide sur code
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 14-05-2009 15h37
Bonjour à tous
Bonjour Kelly

La petite modif demandée ainsi que quelques explications pour le code.

On remet la cellule à "rien". Le Module modifié :

Option Explicit

Public KO As Boolean
Public ma_feuille As String
Public macol
Public maligne
Public trouve As Integer
Public valeur_cellule 'As String

Sub recherche()

Dim a As Integer
Dim i As Integer
Dim pos As Integer

'recherche de la colonne modifi�e
Select Case macol
    Case 3, 7, 11, 15, 19, 23   'N� des colonnes "matin" ou "apr�m"
        a = 3                   'N� de la 1�re colonne
    Case 5, 9, 13, 17, 21, 25   'N� des colonnes "matin" ou "apr�m"
        a = 5                   'N� de la 1�re colonne
End Select

'tests sur les 6 colonnes "matin" ou "apr�m"
For i = 0 To 5
    If macol <> a + (i * 4) Then    'pas de test sur la colonne actuelle
        If Worksheets(ma_feuille).Cells(maligne, a + (i * 4)) <> "" Then
            If InStr(valeur_cellule, CStr(Worksheets(ma_feuille).Cells(maligne, a + (i * 4)))) <> 0 Then MsgBox "Ce mat�riel est d�j� r�serv� sur cette p�riode !": trouve = 1: ActiveCell.Value = "": Exit Sub
                'test si dans la cellule actuelle il y a la chaine des 5 autres cellules => valeur_cellule = PC1+PC2 et les autres PC1 (exemple)
            If InStr(CStr(Worksheets(ma_feuille).Cells(maligne, a + (i * 4))), valeur_cellule) <> 0 Then MsgBox "Ce mat�riel est d�j� r�serv� sur cette p�riode !": trouve = 1: ActiveCell.Value = "": Exit Sub
                'test si dans les 5 autres cellules il y a la chaine de la cellule actuelle => valeur_cellule = PC1 et les autres PC1+PC2 (exemple)
         End If
    End If
Next i

End Sub

Sub materiel()
Dim i As Integer
Dim lalong As Integer
Dim valeur_cellule_intermediaire
Dim pos As Integer

'on d�coupe la cellule actuelle : PC1 + sono
If InStr(valeur_cellule, "+") <> 0 Then     'test si il y a un "+" dans la cellule actuelle
    valeur_cellule_intermediaire = valeur_cellule
    lalong = Len(valeur_cellule)            'nombre de caract�res
    pos = InStr(valeur_cellule, "+")        'position du caract�re "+"
    valeur_cellule = Left(valeur_cellule_intermediaire, pos - 2)           'r�cup�ration de la chaine qui se trouve � gauche du +, en otant l'espace
    recherche
    If trouve = 1 Then Exit Sub
    valeur_cellule = Right(valeur_cellule_intermediaire, lalong - pos - 1) 'r�cup�ration de la chaine qui se trouve � droite du +, en otant l'espace
    recherche
Else
    recherche
End If

End Sub
 


Pour le code de la feuille, pas de modif.

Eric


Hors Ligne
Rapport   Haut 

Re: Aide sur code
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 13-05-2009 20h17
Bonsoir à tous
Bonsoir Kelly

Le code du module modifié :
ption Explicit

Public KO As Boolean
Public ma_feuille As String
Public macol
Public maligne
Public trouve As Integer
Public valeur_cellule 'As String

Sub recherche()

Dim a As Integer
Dim i As Integer
Dim pos As Integer

Select Case macol
    Case 3, 7, 11, 15, 19, 23
        a = 3
    Case 5, 9, 13, 17, 21, 25
        a = 5
End Select

For i = 0 To 5
    If macol <> a + (i * 4) Then
        If Worksheets(ma_feuille).Cells(maligne, a + (i * 4)) <> "" Then
            If InStr(valeur_cellule, CStr(Worksheets(ma_feuille).Cells(maligne, a + (i * 4)))) <> 0 Then MsgBox "Ce mat�riel est d�j� r�serv� sur cette p�riode !": trouve = 1: Exit Sub
            If InStr(CStr(Worksheets(ma_feuille).Cells(maligne, a + (i * 4))), valeur_cellule) <> 0 Then MsgBox "Ce mat�riel est d�j� r�serv� sur cette p�riode !": trouve = 1: Exit Sub
        End If
    End If
Next i

End Sub

Sub materiel()
Dim i As Integer
Dim lalong As Integer
Dim valeur_cellule_intermediaire
Dim pos As Integer

If InStr(valeur_cellule, "+") <> 0 Then
    valeur_cellule_intermediaire = valeur_cellule
    lalong = Len(valeur_cellule)
    pos = InStr(valeur_cellule, "+")
    valeur_cellule = Left(valeur_cellule_intermediaire, pos - 2)
    recherche
    If trouve = 1 Then Exit Sub
    valeur_cellule = Right(valeur_cellule_intermediaire, lalong - pos - 1)
    recherche
Else
    recherche
End If

End Sub
 

Le code de la Feuille modifié :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1).Value = "" Then Exit Sub

ma_feuille = ActiveSheet.Name
macol = Target.Column
maligne = Target.Row
valeur_cellule = Target.Value

'recherche
materiel

End Sub

Si tu dois ajouter d'autres matériels, il faudra peut-être ajuster. Pour l'instant, cela doit (!) fonctionner avec PC1 et autre PC1 + sono, cad avec un + entouré d'espaces.

Eric
Hors Ligne
Rapport   Haut 

Re: Aide sur code
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 12-05-2009 19h46
Bonsoir à tous
Bonsoir Kelly

Ce que je t'ai déposé ne fonctionne pas pour tous les cas. Celui-ci, j'ai pu le tester et il a l'air de fonctionner. J'espère que c'est ce que tu recherches.
Tu déposes dans un module standard ceci :
Option Explicit

Public KO As Boolean
Public ma_feuille As String
Public macol
Public maligne
Public valeur_cellule 'As String

Sub recherche()

Dim a As Integer
Dim i As Integer

Select Case macol
    Case 3, 7, 11, 15, 19, 23
        a = 3
    Case 5, 9, 13, 17, 21, 25
        a = 5
End Select

For i = 0 To 5
    If macol <> a + (i * 4) Then
        If Worksheets(ma_feuille).Cells(4, a + (i * 4)) <> "" Then
            If InStr(valeur_cellule, CStr(Worksheets(ma_feuille).Cells(4, a + (i * 4)))) <> 0 Then MsgBox "Ce mat�riel est d�j� r�serv� sur cette p�riode !": Exit Sub
            If InStr(CStr(Worksheets(ma_feuille).Cells(4, a + (i * 4))), valeur_cellule) <> 0 Then MsgBox "Ce mat�riel est d�j� r�serv� sur cette p�riode !": Exit Sub
        End If
    End If
Next i

End Sub
 

et dans "Private Sub Worksheet_Change" de chaque feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1).Value = "" Then Exit Sub

ma_feuille = ActiveSheet.Name
macol = Target.Column
maligne = Target.Row
valeur_cellule = Target.Value

recherche
End Sub
 

On peut améliorer, mais je n'ai pas eu le temps.

Dis nous

Eric
Hors Ligne
Rapport   Haut 

Re: Aide sur code
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 12-05-2009 00h01
Bonsoir à tous
Bonsoir Kelly

Tu peux ajouter ceci :
   With Worksheets("Janvier").Range(maligne)   'modifier Janvier, maligne = Target(1).Row & ":" & Target(1).Row
    Set d = .Find(a, LookIn:=xlValues, Lookat:=xlPart)   'a = variable
recherchéeTarget(1).Value
        If Not d Is Nothing Then
            KO = True
        End If
    End With

Eric


Hors Ligne
Rapport   Haut 

Re: Aide sur code
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 09-05-2009 17h23
Bonjour à tous
Bonjour Kelly

Dans le fichier joint, le code VBA est protégé, pas facile de t'aider ...

Eric
Hors Ligne
Rapport   Haut 

« 1 ... 11 12 13 14 15 »