Résultats pour "macro vba fonction moitie"

23'207 résultats pour cette recherche

bonsoir,

voila mon problème je ne suis pas un expert en programmation.

J'ai réalisé une macro sauf que je suis obligé de la relancer tout le temps pour qu'elle aille rechercher ligne par ligne les chaines de caractère que j'ai indiqué et supprimer les autres lignes ou les 3 chaines de caractères n'apparaissent pas. j'aimerais la lancer une seule fois qu'elle fasse toute les recherches et qu'elle s'arrête toute seul à la fin des recherches. je ne sais pas si je me suis fais bien comprendre.

voila mon code si vous pouvez me donner un coup de main ça serait génial.

Code VBA :

Sub tri_ev()
    Dim X As long
    fintab = Sheets(1).Range("B65536").End(xlUp).Row + 1

    For X = 8 To fintab step -1

        recherche1 = InStr(Cells(X, 23), "SR:")
        recherche2 = InStr(Cells(X, 23), "Attente sequence")
        recherche3 = InStr(Cells(X, 23), "ROBOT HORS PUISSANCE")
        If recherche1 <> 0 Or recherche2 <> 0 Or recherche3 <> 0 Then
        Cells(X, 1) = "A garder"
    Else: Cells(X, 1).EntireRow.Delete
    End If

    Next

End Sub

Bonjour!!!!

Voilà, je voulais faire une base de donnée gestion de panne et de matériels via Excel, puisque je n'ai pas droit à Access.

Alors j'ai trouvé sur Google un fichier qui s'en rapprochait, je l'ai retravaillé, et du coup autan ma boite de dialogue côté gauche fonctionne bien, mais toutes les cases côté droit, je n'y arrive pas je ne sais pas comment attribuer une formule a ces cases pour qu'elles viennent remplir le reste des colonnes.

Si quelqu'un peux m'aider.

Merci beaucoup!!!!!!!

Bonjour à tous,

J'ai un soucis avec un petit tableau concernant la fonction recherchev . En effet , elle fonctionne concernant un onglet ( BLI ) mais

sur le deuxième( MO ) , pas moyen de la faire fonctionner .

Sur la 3e feuille ecarts reappro, les formules des colonnes "libellé MO"

et "tri adresse" ne marchent pas.

Il faut m'afficher sur cette feuille le libellé de la feuille MO

correspondant au gencod de la colonne 1 (présent dans les deux feuille,

attention il apparait en plusieurs fois sur la feuille MO)

Et il faut aussi m'afficher l'adresse de ces gencod piochée dans le

fichier MO.

Cette fonction marche sur la colonne libelle VBO mais pas sur celle LIBELLE LIGNE 1 , voilà maintenant 2 heures que je suis dessus

Fichier en Pièce jointe .

merci à tous pour vos réponses ,

Sébastien

Bonsoir

j'ai trouvé un fichier super avec une macro qui fonctionne à moitié et que je voudrai faire fonctionner sur 2 points

1er probleme

Sur l'ongler "BD" quand on clique sur "Créer BD avec plan" la macro lit la page "sem1" affiche les périodes de congés pour chaque personne puis passe à l'onglet "sem2"

Et quand on clique sur la macro "Créer Plan avec BD" (cette macro qui fonctionne à moitié", elle ne recopie pas les périodes sur l'onglet "sem2" sauf si on triche que l'on fait partir la période de "sem1" et "sem2"

ex Dupond 24/01/2013 25/07/2013 Evf (ca va marcher avec "Créer Plan avec BD")

mais avec "Créer BD avec plan" on obtiendra 2 lignes

Dupond 24/01/2013 30/06/2013 Evf

Dupond 01/07/2013 25/07/2013 Evf

sauf que la macro "Créer Plan avec BD" n'arrivera pas à recopier la 2ème ligne qui disparaitra si on utilise ensuite l'autre macro vu que cette période ne figurera plus sur le plan....

J'espère avoir réussi à expliquer le probleme et que quelqu'un pourra m'aider.

2eme probléme

Je voudrai aussi recopier uniquement lintérieur des cellules + la couleur de la police d'écriture (et pas la cellule complete afin de ne pas casser la mise en forme conditionnelle de la page du plan de la feuille ou je compte utiliser ce code)

merci d'avance aux spécialistes d'excel

Bonjour a toutes et a tous,

Je viens vous voir aujourd'hui car je suis confronte (une nouvelle fois) a un probleme.

Je cherche a trouver la valeur maximum de ce tableau, sachant que je ne voudrais prendre en compte que les chiffres apres le trait d'union.

capture tri

Je voudrais donc que le resultat soit "MA1-176".

Je vous mets en pieces jointes un fichier exemple (il n'y a pas plus d'informations dedans que sur le screenshot).

PS : Je vous prie de m'excuser pour l'absence d'accents.

3valeur-max.xlsx (8.66 Ko)

Bonsoir,

J'ai actuellement un problème sur mon fichier excel et ses codes VBA associés. Selon moi tout est bon mais la commande que je souhaite réaliser "fonctionne à moitié" :s. Je m'explique. Sur mon fichier (

), dans l'onglet "Projet" je peux sélectionner le type d'opération souhaité (exemple : hébergement, enseignement, etc). Chacun des types doit masquer tous les onglets sauf deux (correspondant à chaque fois au type d'opération choisit). Par exemple, si je choisis le type "Bureaux", deux onglets doivent se masquer sauf deux : "Choix Solutions 2" et "EFAE 2". Cependant, d'autres onglets ne se masquent pas.

Je pense que vous comprendrez mieux en utilisant l'outil. Il n'y a des codes VBA que dans l'onglet "Pojet" et le "Module 1".

En espérant que vous pourrez trouver une solution à mon problème.

Je reste à votre disposition

Cordialement.

Naeqh.

PS : Je vous copie/colle les codes VBA, peut être que vous y trouverez une erreur sans même ouvrir le fichier :

Code dans l'onglet "Projet"

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, [TypeOpération]) Is Nothing Then
Call Masque
End If

    If Target.Count > 1 Then End
    If Not Application.Intersect(Target, Range("C8,C10,C11,C13,C14,C16,C17,C19,D21,D22,D23,D24,D25")) Is Nothing Then
        If Not IsEmpty(Target) Then
            Application.EnableEvents = False
            Target.Value = UCase(Target.Value)
            Application.EnableEvents = True
        End If
    Else
    End If

End Sub

Code dans le "Module 1"

Sub Masque()
Call AfficheTout

    If [TypeOpération].Value = "Habitation / Hébergement" Then
           Sheets(Array(13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)).Visible = False
    End If

    If [TypeOpération].Value = "Bureaux" Then
            Sheets(Array(11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)).Visible = False
    End If

    If [TypeOpération].Value = "Etablissement d'accueil de la petite enfance" Then
            Sheets(Array(11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)).Visible = False
    End If

    If [TypeOpération].Value = "Enseignement" Then
            Sheets(Array(11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)).Visible = False
    End If

    If [TypeOpération].Value = "Bâtiment industriel" Then
            Sheets(Array(11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)).Visible = False
    End If

    If [TypeOpération].Value = "Equipement sportif" Then
            Sheets(Array(11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30)).Visible = False
    End If

    If [TypeOpération].Value = "Etablissement de santé" Then
            Sheets(Array(11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30)).Visible = False
    End If

    If [TypeOpération].Value = "Restauration collective" Then
            Sheets(Array(11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30)).Visible = False
    End If

    If [TypeOpération].Value = "Salle de spectacle" Then
            Sheets(Array(11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30)).Visible = False
    End If

    If [TypeOpération].Value = "Centre culturel" Then
            Sheets(Array(11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)).Visible = False
    End If

Sheets(1).Select

End Sub

Sub AfficheTout()
Dim i As Integer
Application.ScreenUpdating = False

For i = 2 To Sheets.Count
With Sheets(i)
.Unprotect Password:="142222"
.Visible = True
.Protect Password:="142222"
End With
Next i

End Sub

Bonjour,

J'ai trouvé comment compter le nombre de lignes visibles => 6

Je découpe le résultat par 2 => 3

Si je veux sélectionner la seconde partie de la plage de cellules, je commence à la 5e ligne (4e + 1 pour l'en-tête)... sauf que voilà, 5 c'est pas le numéro de ligne de la 5e ligne visible !

Est-ce que vous avez une solution ? En VBA si possible car d'autres choses sont déjà faites.

Merci beaucoup.

PJ : l'objectif est donc de sélectionner les cellules A22 A23 A24

6classeur1.xlsx (8.00 Ko)

bonjour a tous,

je voudrais transférer la moitié d'un contenu d'une cellule dans une autre, je m'explique, je possède une colonne contact dans laquelle il y le nom et prénom de ce dernier, je voudrais donc créer une deuxième colonne qui stockerait le prénom de cette personne (car j'ai 1800 lignes), ce qui différencie le nom du prénom est l'espace entre donc je me demandais si il était possible de faire un programme VBA qui détectait cette espace et qui transférerait le contenu après cette espace.

cdlmt

Lucas

Bonjour,

C'est ma première fois sur ce forum, j'espère ne pas m'être trompé de rubrique x').

J'ai un petit problème avec la formule RechercheV sur Excel 2013 ; Je m'explique.

Excel me calcul une donnée (feuille Résultats, cellule C7) puis avec celle-ci je fais une RechercheV dans un tableau. Cependant, cette RechercheV fonctionne jusqu'au un certain montant.

Dans le tableau 'Ca', la RechercheV fonctionne jusqu'à 0.35. A 0.34, la formule me renvoie une erreur. Je ne sais pas pourquoi.

Idem pour le 'Mg' lorsque la formule recherche 0.34 ainsi que pour 'KH' lorsque la formule recherche 0.46.

A savoir que si je n'utilise pas la petite formule en C7 mais que je mets un chiffre manuellement, la fonction RechercheV ne renvoie pas d'erreur.

D'avance, merci de votre aide

Ps: Le but de ce classeur excel est de calculer le nombre de ml de Calcium ou autres que je dois rajouter dans un aquarium d'eau de mer.

17classeur1.xlsx (15.90 Ko)

Bonsoir tout le monde;

c'est mon premier post sur le forum , et je suis très ravie qu'on puisse partager nos connaissances.

Bon, mon problème est assez simple et compliqué à la fois; je dispose de plusieurs séries représentant des surfaces, dans le but de dimensionner les équipements nécessaires à chaque surface, je dois diviser mes séries en deux sous séries de telle sorte à ce que la somme des sous séries soit la plus proche de 50%.

pour mieux comprendre, merci de consulter le fichier en jointure.

pour l'instant je fais l’opération à la main et cela me prend un temps fou.

merci beaucoup

14classeur2.xlsx (9.58 Ko)

Bonjour à tous,

Dans une cellule j'ai une différence de date (en années, mois et jours) qui correspond à la durée d'un congé parental pris par l'agent.

Formule :

=DATEDIF(C5;D5;"y")& SI(DATEDIF(C5;D5;"y")>1;" ans, ";" an, ") & DATEDIF(C5;D5;"ym") & " mois, "

& DATEDIF(C5;D5;"md") & SI(DATEDIF(C5;D5;"md")>1;" jours";" jour")

Cette durée n'est retenue que pour moitié dans l'ancienneté du salarié.

Je ne parviens pas à trouver la formule pour obtenir dans une autre celulle la moitié de cette durée (en années, mois et jours).

Merci d'avance de vos lumières.

Bonjour tout le monde,

Je suis nouvellle sur le forum et j'aurais bien besoin de votre aide.

Je suis institutrice et pour créer mes bulletins et mes feuilles de cotes,j'utilise Excel.

Mais je cherche toujours à améliorer et aujourd"hui, je souhaiterais que les cotes en-dessous de la moitié apparaissent en rouge.

Ex: si le total est sur 20 ; que de 0 à 10 les valeurs apparaissent en rouge.

Qui pourrait m'aider???

D'ores et déjà un grand merci.

Lo

Bonjour !

Comme j'ai vu que les membres de se forum sont au top, je me permets une autre question... En espérant pouvoir bientôt aider quelqu'un à mon tour !

J'aimerai savoir si quelqu'un a une idée brillante pour faire une interpolation temporelle. Je m'explique:

J'ai un tableau avec des valeurs mais il y en a certaines données manquantes (j'ai des trous dans mes tableaux)

J'aimerais les combler en comparant les années entre elles (par ex si j'ai un trou au mois de novembre 2016 et que les valeurs de l'année 2013 ressemble aux autres valeurs de l'année 2016 et qu'elle est complète sur tous les mois alors je pourrais combler mon trou).

J'ai essayé avec la fonction PREVISION.ETS mais je ne suis pas sûre que ce soit ce dont j'ai besoin et surtout si il n'y a pas de date antérieur alors j'ai une erreur: #NOMBRE, (qui est le comportement normal...).

Je mets en PJ un de mes classeurs, si je comprends pour un j'arriverai à le faire pour les autres !

D'avance merci !

Bonjours tous le monde,

Je voudrais avoir la syntaxe de la fonction recherchev ainsi que de la fonction SI en VBA

Par exemple comment écrire =RECHERCHEV(A7;V6:AE13;2;FAUX)

et comment écrire =si(A7>0;A7;"0")

Merci d'avance.

Bonjour à tous,

j'ai un petit soucis. Ci après une fonction vba.

Private Sub ComboBox2_Change()

Dim col&, lig&, cel As Range, cel1 As Range

If ComboBox1.ListIndex = -1 Then Exit Sub

If ComboBox2.ListIndex = -1 Then Exit Sub

Set cel = Feuil2.Range("C5:CN5").Find(ComboBox1, , , xlWhole)

If Not cel Is Nothing Then col = cel.Column

Set cel1 = Feuil2.Range("B6:B" & Feuil2.Range("B" & Rows.Count).End(xlUp).Row).Find(ComboBox2, , , xlWhole)

If Not cel1 Is Nothing Then lig = cel1.Row

TextBox1 = Feuil2.Cells(lig, col)

End Sub

Mon problème :

1Plutôt que de placer textbox1 dans Feuil2, j'aimerai que textbox1 se place dans la feuille portant le même nom que le mot sélectionné dans ComboBox1 par l'utilisateur. Est-ce possible?

Merci d'avance.

Thibault

Bonjour,

Ça fait plusieurs jours que je travaille sur VBA, je suis en apprentissage et jusqu’à maintenant j'arrive bien à me débrouiller en fouillant tous les forums.

Néanmoins, je bloque sur un code à créer. Auriez vous un code à me proposer?

Voici les besoins requis:

J'ai 2 onglets :

  • "Data" - La colonne A contient des noms, la colonne B une zone défini selon le nom
  • "Reservations" - La colonne A contient les mêmes noms que précédemment dans un ordre aléatoire et répétitif.

Je souhaiterai donc :

Selon le nom inscrit dans une ligne de la colonne A(reservations), recherche de la ligne de la colonne A(data) le nom correspondant et renvoi la donnée en colonne B(data) de cette même ligne vers la ligne de la colonne B (reservations).

En gros, traduire en VBA la fonction suivante : =RECHERCHE(Reservations!A:A;Data!A:A;Data!B:B)

Merci pour votre aide

Bonjour à tous,

Je travaille quotidiennement avec excel et j'ai actuellement une grande base de données de patients avec de nombreuses variables évaluées. Pour chaque patient, je dois poser un diagnostic en fonction de valeurs de certaines variables . J'aimerais pouvoir automatiser ce diagnostique pour gagner du temps mais malheureusement je n'ai jamais appris le VBA. J'ai essayé d'apprendre par moi-même mais je bloque et n'arrive pas à mes fins.

Je chercher donc de l'aide pour pouvoir mettre en place une commande automatisant ce fameux diagnostic.

J'ai essayé de détailler au mieux la démarche de raisonnement qui est la suivante :

Dans la ligne de la cellule sélectionnée (cf fichier excel joint : exemple simplifié de ma base):

Etape 1

  • SI : colonne C < 27 OU colonne D>15 ALORS vérifier colonne B.
  • SINON : écrire “Diagnostique 1”

Etape 2

  • SI : colonne B < 8.87 ALORS vérifier colonne E et colonne F et colonne G.
  • SINON : écrire « Diagnostique 2 »

Etape 3

  • SI : colonne E ≤8 OU colonne F ≤0.8 OU colonne G>20 ALORS écrire”diagnostique 3”.
  • SINON : écrire “Dignostique 4”

Etape 4 (si possible) :

  • SI : « case sélectionnée » = « diagnostique 3 » ET colonne A≥31 ALORS écrire « diagnostique 5 »
  • SINON : laisser « diagnostique 3 »

Etape 5 (si possible) :

  • SI : « case sélectionnée » = « diagnostique 4 » ET colonne A≥31 ALORS écrire « diagnostique 6 »
  • SINON : laisser « diagnostique 4 »

Je ne sais pas si cela est réellement réalisable et, si ça l'est, le niveau de complexité que cela représente.

Je vous remercie d'avance pour le temps que vous m'accorderez et n'hésitez pas à me demander plus d'informations si je n'ai pas été assez clair

A tantôt !

Bonjour à tous,

J'ai un tableau avec des demandes qui sont suivi par un indicateur qui précise si la demande est en retard ou non (en fonction de date).

Jusqu'ici tout va bien.

J'ai créé un bouton qui me permet de savoir si j'ai du retard ou non dans mes demandes .

QUand je clique sur ce bouton il doit m'afficher MsgBox "Be careful, delays " et me filtrer ma colonne en m'affichant toutes les demandes en retard sinon MsgBox "No delays"

voici le code créé par l'aide de personnes du forum :

With Workbooks("outils de gestion des demandes - Copie.xlsm").Sheets("move to QUEST")

col = "I"

dl = .Cells(Rows.Count, col).End(xlUp).Row

Set pl = .Cells(1, col).Resize(dl)

If Not pl.Find("Late", lookat:=xlPart, MatchCase:=False, LookIn:=xlValues) Is Nothing Then

MsgBox "Be careful, delays "

Else

MsgBox "No delays"

End If

End With

End Sub

le problème c'est qu'il me dit "No delays" hors j'ai pleins de demandes en retard

Si quelqu'un peut m'aider merci !

Bonjour,

J'ai essayé d'adapter une macro à mon fichier mais je n'y arrive pas.

Je souhaite envoyer dans le corps du mail les 2 premières colonne en fonction de la ville.

Il faudrait faire un mail en fonction de la ville

Merci pour votre aide

Bonjour,

J'aimerais pouvoir colorer plusieurs cellules suivant la date que j'indique dans la première colonne de mon tableau.

Les données concernant le mois de mars par exemple en bleu

Les données concernant le mois de avril en vert

L'idéel serait juste deux colories qui alterne 1 mois sur 2.

J'ai créé une matrice permettant de trier mes valeurs par dates dès que j'en ajoute une.

Si quelqu'un serait me créer cette macro, je lui en serais reconnaissant car je n'ai pas réussi...

VOIR la pièce jointe, feuille "RESULTAT", pour le résultat voulut de la macro, c'est plus clair que des explications.

La seconde feuille présente les macros et mon tableaux de données.

Cordialement,

Antho

11test-1.xlsm (41.96 Ko)

Recherches récentes

recherche listviewformat listviewlistviewrecherchexmacro lentelettre xlaequipes rotationplanning rotationstimestampdatedif heuredatedifturfinserer ligne lorsque valeur changetableauarchivefindliste deroulantelistbox vbasomme listboxmac pourquoi certains fichiers ouvrent bas droite