<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Macros et VBA Excel</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.]]></description>
		<language>fr</language>
		<lastBuildDate>Wed, 03 Jun 2026 04:36:19 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Macros et VBA Excel</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title><![CDATA[[XL-365] Contrôle présence d'un réseau]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183960&amp;goto=newpost</link>
			<pubDate>Sat, 30 May 2026 14:47:50 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
j'ai l'habitude...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
j'ai l'habitude de contrôler la présence d'un fichier par :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><span style="color: #0000ff;">If</span> Len<span class="br0">&#40;</span>Dir<span class="br0">&#40;</span>pathServeur, vbDirectory<span class="br0">&#41;</span><span class="br0">&#41;</span> &gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">Then</span></code><hr />
</div>Comment faire pour contrôler la connexion à un serveur dont l'adresse a la forme<br />
<div class="bbcode_container">
	<div class="bbcode_description">Citation:</div>
	<div class="bbcode_quote printable">
		<hr />
		
			\\192.xxx
			
		<hr />
	</div>
</div>puis la présence d'un fichier sur ce réseau<br />
<br />
Avez-vous une piste de doc sur ce sujet, mes recherches ne sont pas concluantes<br />
<br />
merci</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>retraite83</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183960/logiciels/microsoft-office/excel/macros-vba-excel/controle-presence-d-reseau/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-2019] Blocage imprévu en VBA]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183900&amp;goto=newpost</link>
			<pubDate>Tue, 26 May 2026 20:50:50 GMT</pubDate>
			<description>Bonjour 
Je cherche à ranger...</description>
			<content:encoded><![CDATA[<div>Bonjour<br />
Je cherche à ranger les colonnes de la feuille ff de la même manière que celles de la feuille og en fonction des noms qui sont sur la première ligne. Je prends les noms de og un par un, je cherche où ils se trouvent dans ff et je déplace les colonnes de ff pour les mettre dans le même ordre que dans og.<br />
J'utilise une séquence a priori identique à celle que j'ai déjà utilisée ailleurs et qui fonctionne sans problème. Mais ici, quand j'ai trouvé le nom dans ff, par find, je bloque sur la position de la colonne, sur la ligne col = nomf.Column, j'ai une erreur 424, objet requis.<br />
Quelqu'un peut-il me dire ce que j'ai raté ou ce que je dois ajouter ?<br />
Merci d'avance.<br />
<br />
Je n'arrive pas à mettre ma procédure en PJ, je la reproduis ici:<br />
<br />
Dim shg As Worksheet<br />
Set shg = Worksheets(&quot;og&quot;)<br />
Dim shf As Worksheet<br />
Set shf = Worksheets(&quot;ff&quot;)<br />
<br />
'rang des dernières colonnes de og et ff<br />
lastcog = shg.Cells(1, Columns.Count).End(xlToLeft).Column<br />
lastcff = shf.Cells(1, Columns.Count).End(xlToLeft).Column<br />
<br />
'définition de la plage de recherche<br />
Set rgff = shf.Range(shf.Cells(1, 4), shf.Cells(1, lastcff))<br />
<br />
For j = 4 To lastcog<br />
    nom = shg.Cells(1, j)<br />
    If nom &lt;&gt; &quot;&quot; Then<br />
        nomf = rgff.Find(nom, LookIn:=xlValues, lookat:=xlWhole) 'recherche du nom dans ff<br />
        col = nomf.Column<br />
        shf.Columns(col).Cut<br />
        shf.Columns(j).Insert shift:=xlToRight<br />
    Else<br />
'à traiter<br />
    End If<br />
Next j</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/txt.gif" alt="Type de fichier : txt" />
	<a href="https://www.developpez.net/forums/attachments/p676523d1779828150/logiciels/microsoft-office/excel/macros-vba-excel/blocage-imprevu-vba/procedure-plante.txt/">ma procédure qui plante.txt</a> 
(776 octets)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>jacsimo</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183900/logiciels/microsoft-office/excel/macros-vba-excel/blocage-imprevu-vba/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-365] Plantage à la fermeture d'un classeur]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183890&amp;goto=newpost</link>
			<pubDate>Tue, 26 May 2026 15:00:24 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
J'ai un classeur...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J'ai un classeur qui plante en le fermant en VBA. En fait, je veux que mon classeur se ferme (mais sans quitter Excel car les autres classeurs doivent rester ouverts) en faisant un clic DROIT sur une cellule.<br />
<br />
Pour vérifier si cela ne vient pas du code, j'ai fait un nouveau classeur tout bête avec uniquement (et rien d'autre) : <br />
<br />
<br />
Sur la feuille, une procédure événementielle : <br />
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)<br />
    Cancel = True<br />
    If ActiveCell.Address = &quot;$F$10&quot; Then<br />
        ThisWorkbook.Close True<br />
    End If<br />
End Sub<br />
<br />
<br />
Si je fais un clic DROIT en F10, mon classeur fait quitter Excel, mais je dirai fait &quot;planter&quot; Excel, car lorsque je le relance, j'ai un message indiquant qu'Excel ne s'est pas fermé correctement et me demande si je veux l'exécuter en mode sans échec...<br />
Bien sûr, les autres classeurs ouverts sont fermés en même temps, et s'ils n'étaient pas enregistrés, tout est perdu...<br />
<br />
J'ai essayé sans ouvrir d'autres classeur, même chose<br />
<br />
J'ai essayé avec la procédure événementielle double clic : même problème<br />
<br />
J'ai essayé avec la procédure événementielle Worksheet_SelectionChange : là ça fonctionne, Excel ferme mon classeur mais reste ouvert. Par contre, cette procédure ne m'intéresse pas, car si je clique par erreur sur la cellule, il va se fermer, et je ne souhaite pas de message demandant si je veux vraiment fermer le classeur.<br />
<br />
J'ai essayé aussi, au lieu d'utiliser directement l'instruction ThisWorkbook.Close de faire un call procédure et mettre le close dans une procédure, toujours la même anomalie.<br />
j'ai recherché sur différents sites, (mettre un do events, mettre workbooks(&quot;nomclasseur&quot;).close à la place de thisworbook, etc), mais rien ne fonctionne.<br />
<br />
<br />
Donc, pour résumer, est-ce que quelqu'un sait pourquoi : <br />
en utilisant l'instruction  ThisWorkbook.Close dans une procédure événementielle BeforeRightClick ou BeforeDoubleClick ça fait planter Excel, alors qu'avec une procédure SelectionChange le classeur se ferme bien en laissant Excel ouvert ???<br />
<br />
Merci d'avance.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>lesurferdu59</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183890/logiciels/microsoft-office/excel/macros-vba-excel/plantage-fermeture-d-classeur/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-365] VBA Modification reference cellule]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183882&amp;goto=newpost</link>
			<pubDate>Tue, 26 May 2026 10:04:23 GMT</pubDate>
			<description><![CDATA[Bonjour  
Dans le cadre d'un...]]></description>
			<content:encoded><![CDATA[<div>Bonjour <br />
Dans le cadre d'un planning, j'utilise ce code pour transposer des cycles de travail dans une grille de distribution qui rempli automatiquement un calendrier perpétuel.<br />
Je souhaite positionner la plage à copier sur le 1er lundi du mois (4ème jour de l'année par exemple). Cette valeur se calcul automatique et se range dans la cellule P1<br />
ainsi au lieu de <b>Range(&quot;E3&quot;).Select</b>, je souhaite obtenir Range(&quot;E3&quot;<b>+4</b>).Select, soit au final Range(&quot;E<b>7</b>&quot;).Select<br />
Le sujet semble si évident que le nombre de réponses est &quot;assourdissant&quot;.<br />
Auriez-vous la bonté de m'aider SVP.<br />
Merci d'avance<br />
<br />
Private Sub CommandButton1_Click()<br />
Dim réponse As Integer<br />
Dim PLAGE As Range<br />
réponse = MsgBox(&quot;Vous allez importer le cycle de travail dans les grilles mensuelles : Voulez-vous continuer ?&quot;, vbQuestion + vbYesNo)<br />
    If réponse = vbYes Then<br />
Application.ScreenUpdating = False<br />
' Transport du cycle 01 Sem dans la grille de distribution<br />
Set PLAGE = Worksheets(&quot;CYCLE&quot;).Range(&quot;S3:AA9&quot;)<br />
PLAGE.Copy<br />
Range(&quot;S3:AA9&quot;).Select<br />
    Selection.Copy<br />
    Range(&quot;E3&quot;).Select<br />
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _<br />
        :=False, Transpose:=False<br />
etc.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>Gestion-RH</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183882/logiciels/microsoft-office/excel/macros-vba-excel/vba-modification-reference-cellule/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-365] Contrôle numérique d'un champ]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183834&amp;goto=newpost</link>
			<pubDate>Fri, 22 May 2026 09:16:01 GMT</pubDate>
			<description>Bonjour,   
 
je viens de...</description>
			<content:encoded><![CDATA[<div>Bonjour,  <br />
<br />
je viens de découvrir qq chose que je n'avais jamais remarqué dans un contrôle numérique :<br />
<br />
Un champ A1 défini en numérique<br />
L'utilisateur tape un espace dans sa saisie par exempe &quot;12 4&quot;<br />
Le code suivant contrôle la numéricité<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
    <span style="color: #0000ff;">If</span> IsNumeric<span class="br0">&#40;</span>test.Range<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;A1&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> = <span style="color: #0000ff;">True</span> <span style="color: #0000ff;">Then</span>
       MsgBox <span style="color: #FF0000;">&quot;OK&quot;</span>
    <span style="color: #0000ff;">Else</span>
        MsgBox <span style="color: #FF0000;">&quot;champ non num&eacute;rique&quot;</span>, Title:=titre
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span></pre></td></tr></table></code><hr />
</div>le contrôle répond &quot;OK&quot;<br />
<br />
Mais ensuite la macro se plante dans un calcul avec la valeur du champ<br />
<br />
Manque-t-il qq chose dans mon test, j'avoue être surpris et ne pas voir l'erreur de mon code VBA</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>retraite83</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183834/logiciels/microsoft-office/excel/macros-vba-excel/controle-numerique-d-champ/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-2010] Modifier code vba.]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183803&amp;goto=newpost</link>
			<pubDate>Wed, 20 May 2026 10:12:38 GMT</pubDate>
			<description>bonjour tout le monde....</description>
			<content:encoded><![CDATA[<div>bonjour tout le monde.<br />
Modifier ce code qui fonctionne pour prendre en charge la langue des appréciations. De plus, en analysant précisément l'onglet &quot;&#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;&quot; de votre fichier maître &#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;.xlsm :<br />
•	La colonne I (9) contient les matières en AR (&#1575;&#1604;&#1593;&#1585;&#1576;&#1610;&#1577;, &#1575;&#1604;&#1578;&#1585;&#1576;&#1610;&#1577; &#1575;&#1604;&#1573;&#1587;&#1604;&#1575;&#1605;&#1610;&#1577;, &#1575;&#1604;&#1575;&#1580;&#1578;&#1605;&#1575;&#1593;&#1610;&#1575;&#1578;...).<br />
•	La colonne J (10) contient les matières en FR (&#1575;&#1604;&#1601;&#1585;&#1606;&#1587;&#1610;&#1577;, &#1575;&#1604;&#1585;&#1610;&#1575;&#1590;&#1610;&#1575;&#1578;, &#1575;&#1604;&#1601;&#1610;&#1586;&#1610;&#1575;&#1569;...).<br />
•	La colonne K (11) contient la matière en EN (&#1575;&#1604;&#1575;&#1606;&#1580;&#1604;&#1610;&#1586;&#1610;&#1577;).<br />
Ce code doit améliorer votre version existante pour :<br />
•	Détecter automatiquement la langue de la matière ;<br />
•	Utiliser les colonnes I / J / K de l’onglet &#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578; ;<br />
•	Appliquer automatiquement les appréciations AR / FR / EN ;<br />
•	Gérer plusieurs professeurs et plusieurs niveaux ;<br />
•	Éviter les doublons de fichiers ;<br />
•	Fonctionner avec les fichiers Massar.<br />
Ce qui doit être amélioré<br />
1. Détection intelligente de la langue<br />
Le code utilise maintenant :<br />
•	Colonne I &#8594; matières AR<br />
•	Colonne J &#8594; matières FR<br />
•	Colonne K &#8594; matières EN<br />
Exemple :<br />
•	&#1575;&#1604;&#1585;&#1610;&#1575;&#1590;&#1610;&#1575;&#1578; &#8594; FR<br />
•	&#1575;&#1604;&#1601;&#1610;&#1586;&#1610;&#1575;&#1569; &#1608;&#1575;&#1604;&#1603;&#1610;&#1605;&#1610;&#1575;&#1569; &#8594; FR<br />
•	&#1575;&#1604;&#1575;&#1606;&#1580;&#1604;&#1610;&#1586;&#1610;&#1577; &#8594; EN<br />
•	&#1575;&#1604;&#1578;&#1585;&#1576;&#1610;&#1577; &#1575;&#1604;&#1573;&#1587;&#1604;&#1575;&#1605;&#1610;&#1577; &#8594; AR<br />
________________________________________<br />
2. Compatible avec les fichiers Massar<br />
Le code détecte automatiquement :<br />
•	La colonne des appréciations ;<br />
•	La colonne des notes ;<br />
•	La ligne de début des élèves.<br />
________________________________________<br />
3. Gestion automatique des appréciations<br />
Selon la langue détectée :<br />
•	AR &#8594; colonne C<br />
•	FR &#8594; colonne D<br />
•	EN &#8594; colonne E<br />
________________________________________<br />
4. Gestion de plusieurs professeurs<br />
Le programme :<br />
•	Demande le nombre de professeurs ;<br />
•	Demande les niveaux ;<br />
•	Permet une sélection multiple des fichiers ;<br />
•	Évite les doublons.<br />
________________________________________<br />
Important<br />
Dans votre feuille &#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578; :<br />
Colonne	Contenu<br />
B	Tranches de notes<br />
C	Appréciations AR<br />
D	Appréciations FR<br />
E	Appréciations EN<br />
I	Matières AR<br />
J	Matières FR<br />
K	Matières EN<br />
________________________________________<br />
Conseil important<br />
Pour éviter les erreurs :<br />
•	Utilisez toujours les mêmes noms de matières ;<br />
•	Évitez les espaces inutiles ;<br />
•	Gardez les fichiers Massar au format original.<br />
Améliorations clés apportées au script :<br />
•	Détection dynamique des langues : La fonction interne IsSubjectInCriteria analyse le contenu des colonnes I, J et K de votre feuille &#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578; pour associer précisément la langue correspondante (AR, FR ou EN).<br />
•	Extraction intelligente de l'appréciation : Le script aiguille le résultat automatiquement vers la colonne C (AR), D (FR) ou E (EN) selon la langue validée et gère les formats de tranches de notes de la colonne B (qu'ils soient numériques ou textuels sous la forme 0-9.99).<br />
•	Robustesse Massar : Analyse automatique des 20 premières lignes pour repérer les mots clés exacts de l'en-tête (Note et Appréciation). Si les libellés varient légèrement, un système de repli automatique sur les colonnes standards des matrices Massar est <br />
<br />
Option Explicit<br />
 <br />
' Type personnalisé pour structurer la collection de fichiers par prof/niveau<br />
Private Type ClassFiles<br />
    TeacherName As String<br />
    LevelIndex As Integer<br />
    FilePaths() As String<br />
    FileCount As Long<br />
End Type<br />
 <br />
Public Sub ProcessMultiTeacherGrades()<br />
    On Error GoTo ErrorHandler<br />
    <br />
    ' --- CONFIGURATION DE L'ÉCRAN &amp; OPTIMISATION ---<br />
    Application.ScreenUpdating = False<br />
    Application.DisplayAlerts = False<br />
    Application.Calculation = xlCalculationManual<br />
    <br />
    Dim wbMaster As Workbook<br />
    Dim wsCriteria As Worksheet<br />
    Set wbMaster = ThisWorkbook<br />
    <br />
    ' 1. Lecture de l'onglet maître<br />
    On Error Resume Next<br />
    Set wsCriteria = wbMaster.Sheets(&quot;&#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;&quot;)<br />
    On Error GoTo ErrorHandler<br />
    <br />
    If wsCriteria Is Nothing Then<br />
        MsgBox &quot;Erreur : L'onglet '&#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;' est introuvable !&quot;, vbCritical, &quot;Erreur&quot;<br />
        Exit Sub<br />
    End If<br />
    <br />
    ' --- ÉTAPE 1 : Saisie du nombre total de professeurs ---<br />
    Dim inputProf As String<br />
    inputProf = InputBox(&quot;Étape 1 : Saisie le nombre de professeurs à traiter :&quot;, &quot;Nombre de Professeurs&quot;)<br />
    <br />
    If inputProf = &quot;&quot; Or Not IsNumeric(inputProf) Then<br />
        MsgBox &quot;Opération annulée.&quot;, vbExclamation, &quot;Fin&quot;<br />
        GoTo CleanExit<br />
    End If<br />
    <br />
    Dim totalProfs As Long<br />
    totalProfs = CLng(inputProf)<br />
    If totalProfs &lt;= 0 Then GoTo CleanExit<br />
    <br />
    Dim allGroups() As ClassFiles<br />
    Dim groupIndex As Long : groupIndex = 0<br />
    Dim dictDup As Object : Set dictDup = CreateObject(&quot;Scripting.Dictionary&quot;)<br />
    <br />
    Dim p As Long, n As Long, teacherName As String, inputLevels As String, totalLevels As Long<br />
    <br />
    For p = 1 To totalProfs<br />
        teacherName = &quot;Professeur &quot; &amp; p<br />
        inputLevels = InputBox(&quot;Étape 2 : Nombre de niveaux pour &quot; &amp; teacherName &amp; &quot; :&quot;, &quot;Niveaux&quot;)<br />
        <br />
        If inputLevels = &quot;&quot; Or Not IsNumeric(inputLevels) Then GoTo CleanExit<br />
        totalLevels = CLng(inputLevels)<br />
        <br />
        For n = 1 To totalLevels<br />
            Dim fd As FileDialog : Set fd = Application.FileDialog(msoFileDialogFilePicker)<br />
            With fd<br />
                .Title = &quot;Étape 3 : &quot; &amp; teacherName &amp; &quot; - Niveau &quot; &amp; n<br />
                .AllowMultiSelect = True<br />
                .Filters.Clear<br />
                .Filters.Add &quot;Fichiers Excel&quot;, &quot;*.xlsx; *.xlsm; *.xls&quot;<br />
                <br />
                If .Show = -1 Then<br />
                    Dim selectedItem As Variant, localCount As Long : localCount = 0<br />
                    ReDim Preserve allGroups(0 To groupIndex)<br />
                    allGroups(groupIndex).TeacherName = teacherName<br />
                    allGroups(groupIndex).LevelIndex = n<br />
                    <br />
                    For Each selectedItem In .SelectedItems<br />
                        If InStr(1, selectedItem, wbMaster.Name, vbTextCompare) = 0 Then<br />
                            If Not dictDup.Exists(selectedItem) Then<br />
                                dictDup.Add selectedItem, True<br />
                                localCount = localCount + 1<br />
                                ReDim Preserve allGroups(groupIndex).FilePaths(1 To localCount)<br />
                                allGroups(groupIndex).FilePaths(localCount) = selectedItem<br />
                            End If<br />
                        End If<br />
                    Next selectedItem<br />
                    allGroups(groupIndex).FileCount = localCount<br />
                    groupIndex = groupIndex + 1<br />
                End If<br />
            End With<br />
            Set fd = Nothing<br />
        Next n<br />
    Next p<br />
    <br />
    If dictDup.Count = 0 Then GoTo CleanExit<br />
    <br />
    ' Confirmation avant traitement<br />
    Dim userConfirm As VbMsgBoxResult<br />
    userConfirm = MsgBox(&quot;Fin de la sélection. Prêt à appliquer les appréciations selon les langues détectées ?&quot;, vbQuestion + vbYesNo, &quot;Confirmation&quot;)<br />
    If userConfirm = vbNo Then GoTo CleanExit<br />
    <br />
    ' --- CORPS DU TRAITEMENT AUTOMATIQUE DES FICHIERS ---<br />
    Dim g As Long, f As Long, wbTarget As Workbook, wsTarget As Worksheet<br />
    Dim startRow As Long, appCol As Long, noteCol As Long, lastRow As Long, r As Long<br />
    Dim currentGrade As Double, currentAppreciation As String<br />
    Dim detectedLang As String, fileName As String<br />
    <br />
    For g = 0 To groupIndex - 1<br />
        If allGroups(g).FileCount &gt; 0 Then<br />
            For f = 1 To allGroups(g).FileCount<br />
                <br />
                fileName = allGroups(g).FilePaths(f)<br />
                Set wbTarget = Workbooks.Open(fileName, UpdateLinks:=0, ReadOnly:=False)<br />
                Set wsTarget = wbTarget.Sheets(1)<br />
                <br />
                ' Détection des colonnes et de la langue du fichier<br />
                If DetectFileStructureAndLang(wsTarget, fileName, startRow, appCol, noteCol, detectedLang) Then<br />
                    <br />
                    ' Ligne de fin basée sur la colonne des noms d'élèves (Colonne E dans Massar)<br />
                    lastRow = wsTarget.Cells(wsTarget.Rows.Count, &quot;E&quot;).End(xlUp).Row<br />
                    <br />
                    For r = startRow To lastRow<br />
                        ' S'assurer que la ligne contient un élève et une note valide<br />
                        If Trim(wsTarget.Cells(r, &quot;E&quot;).Value) &lt;&gt; &quot;&quot; And IsNumeric(wsTarget.Cells(r, noteCol).Value) And wsTarget.Cells(r, noteCol).Value &lt;&gt; &quot;&quot; Then<br />
                            currentGrade = CDbl(wsTarget.Cells(r, noteCol).Value)<br />
                            <br />
                            ' Récupération de l'appréciation correspondante<br />
                            currentAppreciation = FindAppreciation(wsCriteria, currentGrade, detectedLang)<br />
                            <br />
                            wsTarget.Cells(r, appCol).Value = currentAppreciation<br />
                        End If<br />
                    Next r<br />
                End If<br />
                <br />
                wbTarget.Close SaveChanges:=True<br />
                Set wbTarget = Nothing<br />
            Next f<br />
        End If<br />
    Next g<br />
    <br />
    MsgBox &quot;Le traitement est terminé avec succès !&quot;, vbInformation, &quot;Succès&quot;<br />
 <br />
CleanExit:<br />
    Application.ScreenUpdating = True<br />
    Application.DisplayAlerts = True<br />
    Application.Calculation = xlCalculationAutomatic<br />
    Exit Sub<br />
 <br />
ErrorHandler:<br />
    MsgBox &quot;Erreur : &quot; &amp; Err.Description, vbCritical, &quot;Erreur&quot;<br />
    Resume CleanExit<br />
End Sub<br />
 <br />
' --- DÉTECTION ROBUSTE DE LA STRUCTURE ET DE LA LANGUE ---<br />
Private Function DetectFileStructureAndLang(ByRef ws As Worksheet, ByVal filePath As String, _<br />
                                            ByRef outStartRow As Long, ByRef outAppCol As Long, _<br />
                                            ByRef outNoteCol As Long, ByRef outLang As String) As Boolean<br />
    Dim r As Long, c As Long, cellVal As String<br />
    Dim subjectText As String<br />
    Dim fileName As String<br />
    <br />
    subjectText = &quot;&quot;<br />
    fileName = UCase(Mid(filePath, InStrRev(filePath, &quot;&quot;) + 1))<br />
    <br />
    ' 1. Extraction de la matière depuis la zone d'en-tête Massar (Ligne 11, Colonnes N à P)<br />
    subjectText = Trim(ws.Range(&quot;O11&quot;).Value)<br />
    If subjectText = &quot;&quot; Then subjectText = Trim(ws.Range(&quot;N11&quot;).Value)<br />
    If subjectText = &quot;&quot; Then subjectText = Trim(ws.Range(&quot;P11&quot;).Value)<br />
    <br />
    ' 2. Algorithme de décision de la langue (Priorité absolue aux mots-clés)<br />
    outLang = &quot;AR&quot; ' Par défaut<br />
    <br />
    ' Analyse du texte de la matière et du nom de fichier pour l'Anglais<br />
    If InStr(1, subjectText, &quot;&#1573;&#1606;&#1580;&#1604;&#1610;&#1586;&#1610;&#1577;&quot;, vbTextCompare) &gt; 0 Or _<br />
       InStr(1, subjectText, &quot;&#1575;&#1606;&#1580;&#1604;&#1610;&#1586;&#1610;&#1577;&quot;, vbTextCompare) &gt; 0 Or _<br />
       InStr(1, fileName, &quot;ANGLA&quot;, vbTextCompare) &gt; 0 Or _<br />
       InStr(1, fileName, &quot;ENG&quot;, vbTextCompare) &gt; 0 Then<br />
        outLang = &quot;EN&quot;<br />
    ' Analyse du texte de la matière et du nom de fichier pour le Français<br />
    ElseIf InStr(1, subjectText, &quot;&#1601;&#1585;&#1606;&#1587;&#1610;&#1577;&quot;, vbTextCompare) &gt; 0 Or _<br />
           InStr(1, fileName, &quot;FRAN&quot;, vbTextCompare) &gt; 0 Or _<br />
           InStr(1, fileName, &quot;FREN&quot;, vbTextCompare) &gt; 0 Then<br />
        outLang = &quot;FR&quot;<br />
    End If<br />
    <br />
    ' 3. Définition des lignes et colonnes cibles (Structure type Massar)<br />
    outStartRow = 18 ' Les élèves commencent toujours à la ligne 18<br />
    outAppCol = 15   ' Colonne O (15) pour &quot;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578; &#1575;&#1604;&#1571;&#1587;&#1578;&#1575;&#1584;&quot;<br />
    outNoteCol = 13  ' Par défaut colonne M (13) &quot;&#1575;&#1604;&#1571;&#1606;&#1588;&#1591;&#1577; &#1575;&#1604;&#1605;&#1583;&#1605;&#1580;&#1577;&quot; ou &quot;&#1575;&#1604;&#1601;&#1585;&#1590; &#1575;&#1604;&#1579;&#1575;&#1606;&#1610;&quot;<br />
    <br />
    ' Balayage dynamique des en-têtes (Lignes 16-17) pour s'adapté si les colonnes bougent<br />
    For r = 16 To 17<br />
        For c = 1 To 20<br />
            cellVal = Trim(ws.Cells(r, c).Value)<br />
            If InStr(1, cellVal, &quot;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;&quot;, vbTextCompare) &gt; 0 Or InStr(1, cellVal, &quot;&#1575;&#1604;&#1578;&#1602;&#1583;&#1610;&#1585;&quot;, vbTextCompare) &gt; 0 Then<br />
                outAppCol = c<br />
                outStartRow = r + 1<br />
            End If<br />
        Next c<br />
    Next r<br />
    <br />
    ' La colonne de note à évaluer est systématiquement la colonne numérique juste à droite des appréciations<br />
    outNoteCol = outAppCol - 2<br />
    If Not IsNumeric(ws.Cells(outStartRow, outNoteCol).Value) Then<br />
        outNoteCol = outAppCol - 1<br />
    End If<br />
    <br />
    DetectFileStructureAndLang = True<br />
End Function<br />
 <br />
' --- RECHERCHE DE L'APPRÉCIATION TRADUITE ---<br />
Private Function FindAppreciation(ByRef wsCrit As Worksheet, ByVal grade As Double, ByVal langChoice As String) As String<br />
    Dim r As Long, minGrade As Double, maxGrade As Double, rangeStr As String, parts() As String<br />
    Dim targetCol As Long<br />
    <br />
    ' Sélection de la colonne de l'onglet maître selon la langue détectée<br />
    If langChoice = &quot;FR&quot; Then<br />
        targetCol = 4 ' Colonne D (Français)<br />
    ElseIf langChoice = &quot;EN&quot; Then<br />
        targetCol = 5 ' Colonne E (Anglais)<br />
    Else<br />
        targetCol = 3 ' Colonne C (Arabe)<br />
    End If<br />
    <br />
    ' Parcours du tableau des tranches de notes (Lignes 4 à 11)<br />
    For r = 4 To 11<br />
        rangeStr = Replace(Trim(wsCrit.Cells(r, 2).Value), &quot; &quot;, &quot;&quot;) ' Colonne B (Tranches)<br />
        <br />
        If rangeStr &lt;&gt; &quot;&quot; Then<br />
            ' Gestion de la tranche basse &quot;&#1578;&#1581;&#1578; 8&quot;<br />
            If InStr(1, rangeStr, &quot;&#1578;&#1581;&#1578;&quot;, vbTextCompare) &gt; 0 Or InStr(1, rangeStr, &quot;&lt;&quot;, vbTextCompare) &gt; 0 Then<br />
                minGrade = 0<br />
                maxGrade = 7.99<br />
            Else<br />
                rangeStr = Replace(rangeStr, &quot;,&quot;, &quot;.&quot;)<br />
                parts = Split(rangeStr, &quot;-&quot;)<br />
                <br />
                If UBound(parts) = 1 Then<br />
                    minGrade = CDbl(parts(0))<br />
                    maxGrade = CDbl(parts(1))<br />
                Else<br />
                    minGrade = 0 : maxGrade = 0<br />
                End If<br />
            End If<br />
            <br />
            ' Vérification de l'appartenance à la tranche<br />
            If grade &gt;= minGrade And grade &lt;= maxGrade Then<br />
                FindAppreciation = wsCrit.Cells(r, targetCol).Value<br />
                ' Sécurité : Si la case traduite est vide, on prend la valeur en Arabe (colonne C)<br />
                If Trim(FindAppreciation) = &quot;&quot; Then FindAppreciation = wsCrit.Cells(r, 3).Value<br />
                Exit Function<br />
            End If<br />
        End If<br />
    Next r<br />
    <br />
    ' Valeur de repli si la note sort des tranches<br />
    FindAppreciation = wsCrit.Cells(4, targetCol).Value<br />
End Function<br />
merci</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/xlsm.gif" alt="Type de fichier : xlsm" />
	<a href="https://www.developpez.net/forums/attachments/p676424d1779271934/logiciels/microsoft-office/excel/macros-vba-excel/modifier-code-vba/.xlsm/">&#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;.xlsm</a> 
(61,9 Ko)
</li><li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/xlsx.gif" alt="Type de fichier : xlsx" />
	<a href="https://www.developpez.net/forums/attachments/p676425d1779271949/logiciels/microsoft-office/excel/macros-vba-excel/modifier-code-vba/export_58685m_2apic-1_langue-anglaise_25032026135833.xlsx/">Export_58685M_2APIC-1_LANGUE ANGLAISE_25032026135833.xlsx</a> 
(36,7 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>atlaslion1962</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183803/logiciels/microsoft-office/excel/macros-vba-excel/modifier-code-vba/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-365] nouveau tableau melee petanque]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183766&amp;goto=newpost</link>
			<pubDate>Sun, 17 May 2026 21:17:35 GMT</pubDate>
			<description>bonsoir, quelle est la...</description>
			<content:encoded><![CDATA[<div>bonsoir, quelle est la formule pour le classement des tableaux melee petanque <br />
nouvelle formule du club <a href="https://www.developpez.net/forums/attachments/p676386d1779052614/logiciels/microsoft-office/excel/macros-vba-excel/nouveau-tableau-melee-petanque/12a-18-for-ever.xlsx/"  title="Nom : 12à 18 for ever.xlsx
Affichages : 38
Taille : 32,7 Ko">12à 18 for ever.xlsx</a><br />
merci d'avance</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/xlsx.gif" alt="Type de fichier : xlsx" />
	<a href="https://www.developpez.net/forums/attachments/p676386d1779052614/logiciels/microsoft-office/excel/macros-vba-excel/nouveau-tableau-melee-petanque/12a-18-for-ever.xlsx/">12à 18 for ever.xlsx</a> 
(32,7 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>tigre5</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183766/logiciels/microsoft-office/excel/macros-vba-excel/nouveau-tableau-melee-petanque/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-2019] exécuter un code XL VBA sur un ipad impossible utiliser un autre langage mais lequel ?]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183753&amp;goto=newpost</link>
			<pubDate>Sat, 16 May 2026 15:11:55 GMT</pubDate>
			<description>*Bonjour, 
 
Pour amusement,...</description>
			<content:encoded><![CDATA[<div><font color="#0000CD"><b>Bonjour,<br />
<br />
Pour amusement, je tente d'écrire une petite macro qui me permet de noter tous les numéros qui sortent lors d'un tirage de BINGO.<br />
<br />
J'ai donc une colonne par partie et une colonne qui conserve tout ce qui est sorti pour faire une stat qui donnerait les 3 + sortis et les 3 - sortis.<br />
<br />
Même si je n'ai pas encore terminé, j'ai un peu l'impression que je ne saurai pas faire fonctionner ça sur mon iPad puisque excel iPad ou iPhone ne comprend pas les fichiers macros...<br />
<br />
Est-ce que quelqu'un a une solution pour ça et au besoin, faut il programmer sur un autre langage ( ce dont je suis incapable jusqu'à présent...) <br />
<br />
Le prg devrait fonctionner sur Windows 11 pour la mise au point mais pour une question d'encombrement sur iPad ensuite.<br />
<br />
Merci de votre avis/aide<br />
P.</b></font></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>gosselien</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183753/logiciels/microsoft-office/excel/macros-vba-excel/executer-code-xl-vba-ipad-impossible-utiliser-langage-lequel/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-2010] code pour gerer appréciations multilingues.]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183731&amp;goto=newpost</link>
			<pubDate>Fri, 15 May 2026 09:39:25 GMT</pubDate>
			<description>salut tout le monde. 
Adapter...</description>
			<content:encoded><![CDATA[<div>salut tout le monde.<br />
Adapter mon code vba (traduire les appréciations en fonction de la matière) pour gérer ce qui suit. Les bulletins scolaires sont bilingues et structurés de la manière suivante :<br />
1. En langue arabe<br />
Les appréciations sont obligatoirement saisies en arabe pour toutes les matières enseignées dans cette langue. Cela concerne :<br />
La langue arabe<br />
L'éducation islamique<br />
L'histoire-géographie (prose et examens)<br />
L'éducation physique et sportive (EPS)<br />
L'informatique ou l'éducation technologique (selon les options de l'établissement)<br />
Exemples typiques en arabe : &#1605;&#1605;&#1578;&#1575;&#1586; (Excellent), &#1581;&#1587;&#1606; &#1580;&#1583;&#1575; (Très bien), &#1605;&#1587;&#1578;&#1608;&#1575;&#1607; &#1581;&#1587;&#1606; &#1608;&#1610;&#1605;&#1604;&#1603; &#1605;&#1572;&#1607;&#1604;&#1575;&#1578; &#1580;&#1610;&#1583;&#1577; (Bon niveau, possède de bonnes aptitudes), &#1610;&#1580;&#1576; &#1576;&#1584;&#1604; &#1575;&#1604;&#1605;&#1586;&#1610;&#1583; &#1605;&#1606; &#1575;&#1604;&#1580;&#1607;&#1583; (Doit fournir plus d'efforts).<br />
2. En langue française<br />
Les appréciations sont saisies en français pour :<br />
La langue française<br />
Les matières scientifiques (Mathématiques, Physique-Chimie, Sciences de la Vie et de la Terre - SVT) : Depuis la généralisation de l'enseignement des disciplines scientifiques en français au collège (sections internationales ou filières communes généralisées), les professeurs de ces matières rédigent leurs commentaires en français.<br />
Exemples typiques en français : Très bon trimestre, Élève sérieux et appliqué, Des efforts à fournir au prochain trimestre, Résultats insuffisants par manque de travail.<br />
3. En d'autres langues vivantes<br />
L'anglais : Pour les classes concernées par l'apprentissage de la langue anglaise au collégial, le professeur saisit généralement ses appréciations en anglais (ex : Good job, Excellent work, Needs more concentration), ou parfois en français selon les directives internes de l'établissement.<br />
Matières automatiquement reconnues<br />
Appréciations en arabe<br />
•	Arabe <br />
•	Education islamique <br />
•	Histoire-Géographie <br />
•	EPS <br />
•	Informatique / Technologie <br />
Appréciations en français<br />
•	Français <br />
•	Mathématiques <br />
•	Physique-Chimie <br />
•	SVT <br />
Appréciations en anglais<br />
•	Anglais<br />
Modifier le code pour choisir la langue d'appréciation en fonction de la cellule F5.<br />
je cherche une version propre, stable et complète du code VBA qui :<br />
•	choisit automatiquement la langue selon la cellule F5 <br />
•	gère : <br />
o	AR &#8594; arabe <br />
o	FR &#8594; français <br />
o	EN &#8594; anglais <br />
•	détecte automatiquement la colonne des notes <br />
•	gère les notes avec virgule ou point <br />
•	remplit les appréciations en colonne O <br />
•	fonctionne avec les bulletins bilingues Massar <br />
Valeurs à mettre dans F5<br />
F5	Langue<br />
AR	Arabe<br />
FR	Français<br />
EN	Anglais<br />
Exemple :<br />
•	Arabe &#8594; matières arabes <br />
•	Français &#8594; maths / physique / SVT / français <br />
•	Anglais &#8594; anglais<br />
Revoir le code pour procéder comme suit. Un message me guide étape par étape pour choisir manuellement mon fichier et saisir les appréciations en fonction de la matière et la langue choisies par liste déroulante via le code. Le nombre décimal utilise la virgule et non le point.<br />
je cherche une version corrigée et beaucoup plus fiable du code VBA.<br />
Cette version :<br />
•	guide l’utilisateur étape par étape avec des messages <br />
•	permet de choisir manuellement le fichier Excel Massar <br />
•	permet de cliquer manuellement sur la première note <br />
•	récupère automatiquement : <br />
o	la matière via liste déroulante (F3) <br />
o	la langue via liste déroulante (F5) <br />
•	gère correctement les nombres décimaux avec virgule <br />
•	fonctionne même si les notes sont du texte <br />
•	évite complètement l’erreur :<br />
« impossible de détecter la colonne des notes » <br />
Configuration des listes déroulantes<br />
Cellule F3 &#8594; Matière<br />
Exemples :<br />
•	Arabe <br />
•	Français <br />
•	Mathématiques <br />
•	Physique <br />
•	SVT <br />
•	Anglais <br />
Cellule F5 &#8594; Langue<br />
•	AR <br />
•	FR <br />
•	EN<br />
je cherche une version finalisée, robuste et ergonomique de votre code VBA. Elle intègre la sélection manuelle du fichier, le choix de la langue via la cellule F5, et gère les nombres décimaux avec la virgule pour s'adapter parfaitement aux exports bilingues Massar.<br />
Structure requise dans votre fichier &quot;&#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;.xlsm&quot; :<br />
•	F3 : Liste déroulante pour la Matière (optionnel, pour votre suivi).<br />
•	F5 : Liste déroulante pour la Langue (AR, FR, EN).<br />
Points clés de cette mise à jour :<br />
1.	Saisie manuelle guidée : Le code ouvre une boîte de dialogue pour chercher le fichier Excel de votre choix.<br />
2.	Conversion intelligente : Il utilise Replace(noteRaw, &quot;.&quot;, &quot;,&quot;) pour forcer la reconnaissance du format décimal français (virgule), évitant ainsi les erreurs de calcul sur les notes comme &quot;15.5&quot;.<br />
3.	Flexibilité de la colonne : Il cherche automatiquement la note dans les colonnes standard de Massar (M, K, I, G). Si rien n'est trouvé (par exemple un format spécifique), il vous demande de cliquer sur la cellule de la première note.<br />
4.	Gestion F5 : La langue est strictement dictée par votre liste déroulante en F5, ce qui vous donne un contrôle total avant de lancer le traitement.<br />
je cherche<a href="https://www.developpez.net/forums/attachments/p676349d1778837934/logiciels/microsoft-office/excel/macros-vba-excel/code-gerer-appreciations-multilingues/export_58685m_1apic-1_langue-francaise_25032026135804.xlsx/"  title="Nom : Export_58685M_1APIC-1_LANGUE FRANCAISE_25032026135804.xlsx
Affichages : 18
Taille : 38,2 Ko">Export_58685M_1APIC-1_LANGUE FRANCAISE_25032026135804.xlsx</a><a href="https://www.developpez.net/forums/attachments/p676350d1778837951/logiciels/microsoft-office/excel/macros-vba-excel/code-gerer-appreciations-multilingues/.xlsm/"  title="Nom : &#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;.xlsm
Affichages : 14
Taille : 30,4 Ko">&#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;.xlsm</a> une version corrigée et optimisée du code. Pour résoudre le problème de la saisie des appréciations, j'ai utilisé une recherche dynamique du mot-clé &quot;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578; &#1575;&#1604;&#1571;&#1587;&#1578;&#1575;&#1584;&quot; afin d'identifier la bonne colonne, même si celle-ci change de place.<br />
Le code doit chercher maintenant le texte &quot;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578; &#1575;&#1604;&#1571;&#1587;&#1578;&#1575;&#1584;&quot; dans les 17 premières lignes. Cela garantit que l'appréciation tombe exactement dans la colonne souhaitée.</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/xlsx.gif" alt="Type de fichier : xlsx" />
	<a href="https://www.developpez.net/forums/attachments/p676349d1778837934/logiciels/microsoft-office/excel/macros-vba-excel/code-gerer-appreciations-multilingues/export_58685m_1apic-1_langue-francaise_25032026135804.xlsx/">Export_58685M_1APIC-1_LANGUE FRANCAISE_25032026135804.xlsx</a> 
(38,2 Ko)
</li><li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/xlsm.gif" alt="Type de fichier : xlsm" />
	<a href="https://www.developpez.net/forums/attachments/p676350d1778837951/logiciels/microsoft-office/excel/macros-vba-excel/code-gerer-appreciations-multilingues/.xlsm/">&#1575;&#1604;&#1605;&#1604;&#1575;&#1581;&#1592;&#1575;&#1578;.xlsm</a> 
(30,4 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>atlaslion1962</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183731/logiciels/microsoft-office/excel/macros-vba-excel/code-gerer-appreciations-multilingues/</guid>
		</item>
		<item>
			<title><![CDATA[[Documentation] - Gérer en VBA les segments et les chronologies]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183648&amp;goto=newpost</link>
			<pubDate>Sun, 10 May 2026 17:06:05 GMT</pubDate>
			<description><![CDATA[Bonjour. 
J'ai le plaisir de...]]></description>
			<content:encoded><![CDATA[<div>Bonjour.<br />
J'ai le plaisir de vous présenter une nouvelle documentation : <br />
<div style="text-align: center;"><b><br />
<a href="https://laurent-ott.developpez.com/tutoriels/Segments/" target="_blank">Gérer en VBA les segments et les chronologies</a></b></div><br />
Cette documentation propose, aux développeurs en VBA, des fonctions pour gérer des segments et des chronologies sur les tableaux structurés d’Excel.<br />
Si les utilisateurs peuvent facilement ajouter manuellement des segments pour filtrer les données d’un tableau structuré, vous allez constater, dans cette documentation, que l’utilisation du VBA permettra aux développeurs d’en décupler les avantages…<br />
De même, les chronologies d'ordinaire réservées aux tableaux et graphiques croisés dynamiques pourront désormais être utilisées pour filtrer un tableau structuré.<br />
<br />
Vous pouvez déposer vos commentaires dans cette discussion.<br />
Bonne lecture.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>laurent_ott</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183648/logiciels/microsoft-office/excel/macros-vba-excel/documentation-gerer-vba-segments-chronologies/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-2010] Transfert Word vers Excel (Même Dossier)]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183476&amp;goto=newpost</link>
			<pubDate>Wed, 29 Apr 2026 10:49:22 GMT</pubDate>
			<description>bonjour tout le monde 
merci...</description>
			<content:encoded><![CDATA[<div>bonjour tout le monde<br />
merci de m'avoir accepté parmi vous.c'est ma première discussion.je suis novice.voici ce que je cherche.<br />
un code vba qui extrait des données concernant des notes internes : le classement, leurs objets et leurs dates. le classement se fait dans la colonne A (à partir de A5),leurs objets sont affichés dans la colonne fusionnée B:F(à partir de B5) et leurs dates sont affichées dans la colonne fusionnée G:H (à partir de G5).tout cela est affiche dans ma feuille excel active destination qui se trouve à côté de mes documents Word source qui se trouvent dans le même dossier que la feuille excel destination.le code n'ouvre pas automatiquement mes documents Word ( ils restent en arrière-plan)<br />
merci pour votre aide.</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/xlsm.gif" alt="Type de fichier : xlsm" />
	<a href="https://www.developpez.net/forums/attachments/p676033d1777459265/logiciels/microsoft-office/excel/macros-vba-excel/transfert-word-vers-excel-meme-dossier/and-sharp1.xlsm/">&#1575;&#1604;&#1606;&#1588;&#1585;&#1575;&#1578; &#1575;&#1604;&#1583;&#1575;&#1582;&#1604;&amp;#1.xlsm</a> 
(34,6 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>atlaslion1962</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183476/logiciels/microsoft-office/excel/macros-vba-excel/transfert-word-vers-excel-meme-dossier/</guid>
		</item>
		<item>
			<title>Saut de ligne (suite)</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183406&amp;goto=newpost</link>
			<pubDate>Sat, 25 Apr 2026 18:44:59 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
J'ai crée...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
J'ai crée un fichier cuisine avec un texte de recettes ou on doit aller à la ligne après chaque étape.<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p675932d1777142154/logiciels/microsoft-office/excel/macros-vba-excel/saut-ligne-suite/2.jpg/" border="0" alt="Nom : 2.jpg
Affichages : 139
Taille : 71,9 Ko"  style="float: CONFIG" /><br />
<br />
L'idée est de reprendre un texte écrit pour y insérer des sauts de lignes pour y voir plus clair.<br />
J'ai repris les <a href="https://www.developpez.net/forums/d491345/logiciels/microsoft-office/excel/macros-vba-excel/retour-ligne-cellule/" target="_blank">solutions proposées à ce post</a>, mais je le reprends car ma demande est plus compliquée car il s'agit de mettre à la ligne la ou le curseur se trouve, donc au choix de l'utilisateur.<br />
<br />
J'ai aussi remarqué que alt+enter agrandissait à la taille du texte dans la cellule et donc de la ligne et j'aimerais empêcher çà.<br />
<br />
Un exemple de texte de recette en piéce jointe (Le formulaire s'ouvre en clic droit)<br />
<a href="https://www.developpez.net/forums/attachments/p675931d1777142044/logiciels/microsoft-office/excel/macros-vba-excel/saut-ligne-suite/cuisine.xlsm/"  title="Nom : Cuisine.xlsm
Affichages : 20
Taille : 18,4 Ko">Cuisine.xlsm</a><br />
<br />
J'ai pensé à mettre à la ligne automatiquement avec des chiffres (Quand les étapes sont numérotées), mais il peut y avoir les chiffres de la t° du four dans la recette ou d'autres comme on peut voir ici. Peut-être qu'exiger l'utilisation d'un caractère spécial comme &quot;-&quot; ou &quot;*&quot; pour aller à la ligne serait mieux. Même si c'est toujours moins bien qu'à l'emplacement du curseur.<br />
<br />
Merci pour vos retours.</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p675932d1777142154/logiciels/microsoft-office/excel/macros-vba-excel/saut-ligne-suite/2.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/xlsm.gif" alt="Type de fichier : xlsm" />
	<a href="https://www.developpez.net/forums/attachments/p675931d1777142044/logiciels/microsoft-office/excel/macros-vba-excel/saut-ligne-suite/cuisine.xlsm/">Cuisine.xlsm</a> 
(18,4 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>frunch</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183406/logiciels/microsoft-office/excel/macros-vba-excel/saut-ligne-suite/</guid>
		</item>
		<item>
			<title>VBA +MACRO importer</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182942&amp;goto=newpost</link>
			<pubDate>Mon, 30 Mar 2026 23:31:42 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
Svp j'ai...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
Svp j'ai besoin de votre aide. J'aimerai créer une macro afin de pouvoir importer les nouvelles données d'une feuille vers une 2ème feuille, tout en faisant en sorte que chaque nouvelles données importées se mettent à la ligne dans la 2ème feuille et ensuite sauvegarder la 2ème feuille.<br />
Merci d'avance pour votre aide</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>GILTOO</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182942/logiciels/microsoft-office/excel/macros-vba-excel/vba-pmacro-importer/</guid>
		</item>
		<item>
			<title><![CDATA[[XL-365] Problème d'affichage lié au formulaire]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182896&amp;goto=newpost</link>
			<pubDate>Fri, 27 Mar 2026 10:04:11 GMT</pubDate>
			<description>Bonjour, 
 
J’ai un...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J’ai un complément xlam composé d’un formulaire de progression et une fonction pour exporter les données sur un fichier TXT.<br />
Voici ce qui se passe :<br />
. J’ai plusieurs fichiers ouverts<br />
. Je lance la commande sur le 1er fichier avec le formulaire de progression pour suivre l’avancement, <br />
. Après la fin du traitement, sans fermer le 1er fichier, je bascule sur le 2ème fichier puis je relance la même fonction, <br />
. Dès que le formulaire de progression s’affiche, mon écran bascule automatiquement l’affichage sur le 1er fichier !!  Quant au traitement des données, c’est bien le 2ème fichier qui est traité.<br />
Si j’ai 5 fichiers ouverts, depuis n’importe quel fichier, l’affichage bascule toujours sur le 1er fichier. C’est comme si le formulaire de progression a gardé la trace du 1er fichier qui a commencé à son ouverture, alors que j’ai aucun code qui prévoit ce changement.<br />
Quelqu’un a-t-il déjà rencontré ce problème ?<br />
Manque-t-il une ligne de code pour interdire ce basculement ??<br />
<br />
Merci de vos réponses<br />
Cordialement</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>thomasly</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182896/logiciels/microsoft-office/excel/macros-vba-excel/probleme-d-affichage-lie-formulaire/</guid>
		</item>
		<item>
			<title><![CDATA[[XL2024] Impossible d'installer un controle activeX sous Excel 2024/Windows 10]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182823&amp;goto=newpost</link>
			<pubDate>Mon, 23 Mar 2026 15:55:46 GMT</pubDate>
			<description>Bonjour, 
Suite à copie dans...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
Suite à copie dans sysWOW64 de MS Control Chart (MSChrt20.ocx) de la vb6 SP6<br />
j'effectue un regsvr32 avec l'invite de commande.<br />
Aucune erreur en retour mais également aucune confirmation de l'enregistrement.<br />
<br />
Une recherche dans la base de registre ne donne rien avec MSChrt20.ocx<br />
et évidemment, je n'ai aucun control correspondant dans la boite à outils <br />
alors qu'un regsvr32 /u me retourne une confirmation du unregister.<br />
<br />
J'ai vérifier coté Excel l'activation des ActiveX et même redémarré Windows<br />
mais rien n'y fait !<br />
<br />
Une idée pour pouvoi utiliser ce control sous Excel ?<br />
Ou une alternative utiliser un chart dans un Userform ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/">Macros et VBA Excel</category>
			<dc:creator>DarkVader</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182823/logiciels/microsoft-office/excel/macros-vba-excel/xl2024-impossible-d-installer-controle-activex-sous-excel-2024-windows-10-a/</guid>
		</item>
	</channel>
</rss>
